我有一个包含编辑按钮的网格。当我单击编辑按钮并进行调试时,它没有点击选定的索引更改事件。没有构建错误
网格背后的代码
public void btnModemDetailsEdit_Click(object sender, EventArgs e)
{
isEdit = true;
}
protected void gridModemDetails_SelectedIndexChanged(object sender, EventArgs e)
{
int id = Convert.ToInt32(GridModemDetails.DataKeys[GridModemDetails.SelectedIndex].Values["gridModemDetails_SelectedIndexChanged"].ToString());
}
<asp:GridView ID="GridModemDetails" runat="server" Width="435px"
DataKeyNames="ModemId" AllowPaging="True"
OnSelectedIndexChanged="gridModemDetails_SelectedIndexChanged"
AutoGenerateColumns="False">
<Columns>
<asp:TemplateField HeaderText="Edit" Visible="True" >
<ItemTemplate>
<asp:LinkButton ID="btnModemDetailsEdit"
AccessibleHeaderText="Edit"
ButtonType="Button"
Text="Edit"
HeaderText="Edit"
runat="server"
OnClick="btnModemDetailsEdit_Click"/>
</ItemTemplate>
</asp:TemplateField>
答案 0 :(得分:2)
GridView
的{{1}}事件与SelectedIndexChanged
事件有关。
让RowCommand
事件触发的简单方法是使用SelectedIndexChanged
的{{1}}属性,如下所示:
AutoGenerateSelectButton
这将为每行添加一个带有文字GridView
的按钮,点击后,<asp:GridView AutoGenerateSelectButton="true"
事件将会触发。
对于编辑按钮,您可以在网格视图标记中使用Select
,如下所示:
SelectedIndexChange
现在在您的代码隐藏中,您可以处理CommandField
事件,如下所示:
<asp:GridView ...>
<Columns>
<asp:CommandField ShowEditButton="True" />
</Columns>
</asp:GridView>