Итак, у меня есть сетка, заполняемая хранимой процедурой SQL. Все нормально. У меня есть поле кнопки, которое я добавил, где, когда вы нажимаете, будет просто отображаться скрытая метка. Я хочу, чтобы он делал что-то еще, но это тест, поэтому я вижу, получаю ли я правильную строку.Gridview ButtonField Не работает
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;
}
}
Вот код на GridView
<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>
Когда я щелкаю по ссылке, ничего не происходит.
РЕДАКТИРОВАТЬ: И я думаю, что другой вопрос будет, если gridview заполняется из SQL, как событие click известно, какая строка нажата?