因此,我从SQL存储过程中填充了一个网格视图。一切都很好。我有一个按钮字段,我添加了其中,当点击,将只是显示一个隐藏的标签。我想让它做些别的事情,但这是一个测试,所以我可以看看我是否得到了正确的行。
protected void ServiceList_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "ServiceRestart")
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = ServiceList.Rows[index];
TableCell serviceName = selectedRow.Cells[1];
string service = serviceName.Text;
Label1.Visible = true;
Label1.Text = service;
}
}下面是网格视图上的代码
<asp:GridView ID="ServiceList" runat="server" AllowSorting="True" AutoGenerateColumns="False" BorderStyle="Solid" BorderWidth="2px" OnRowCommand="ServiceList_RowCommand">
<Columns>
<asp:BoundField DataField="ServerName" HeaderText="Server Name" />
<asp:BoundField DataField="ServerIP" Visible="False" />
<asp:BoundField DataField="DisplayName" HeaderText="Service Name" />
<asp:BoundField DataField="Status" HeaderText="Status" />
<asp:ButtonField HeaderText="Restart" Text="Restart" ButtonType="Link" CommandName="ServicResStart" />
</Columns>
</asp:GridView>当我点击链接时,什么都不会发生。
编辑:我想另一个问题是,如果网格视图是从SQL填充的,单击事件如何知道单击的是哪一行?
发布于 2016-01-22 05:31:12
所以,如果有人遇到同样的问题,我就能做到这一点。基本上将这两行合并到新的serviceName行中。
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = ServiceList.Rows[index];
var serviceName = selectedRow.Cells[1].Text;https://stackoverflow.com/questions/34936581
复制相似问题