OnSelectedIndexChanged未在GridView中激发
本文关键字:GridView 未在 OnSelectedIndexChanged | 更新日期: 2023-09-27 18:00:07
网格视图代码:
<asp:GridView ID="gvVessel" runat="server" AutoGenerateColumns="false" GridLines="None"
EmptyDataText="No Vessels found." OnRowCommand="gvVessel_RowCommand"
OnSelectedIndexChanged="gvVessel_SelectedIndexChanged" DataKeyNames="VesselID" >
<asp:/GridView>
代码背后:
protected void gvVessel_SelectedIndexChanged(object sender, EventArgs e)
{
int index = Convert.ToInt16(gvVessel.SelectedDataKey.Value);
Cache["index"] = index;
Response.Redirect("VesselDraft.aspx");
}
为什么活动没有启动?
如其中一个SO问题所建议
GridView OnSelectedIndexChanged事件未启动
在更改的索引中选择的网格视图第一次单击时未启动
gridview SelectedIndexChanged事件未激发。我使用的是asp.net 4.0。顺便说一下,rowdatabound事件正在完美地触发
如果您只是单击GridView
中的行,则不会触发事件。您必须在行中有某种按钮才能单击,它将触发RowCommand
事件和SelectedIndexChanged
事件(当然,如果您单击的行尚未选定)。它并不完全像Windows窗体DataGridView=)
激发事件的最简单方法是将此属性添加到GridView
标记中:
AutoGenerateSelectButton="True"
这将创建一个"选择"LinkButton
,当您单击它时,它将在代码后面激发Gridview1_SelectedIndexChanged2
事件
编辑:只是澄清一下,这是您需要添加属性的地方:
<asp:GridView ID="GridView1" runat="server" GridLines="None"
Width="930px" CellPadding="4" ForeColor="#333333"
onselectedindexchanged="GridView1_SelectedIndexChanged2"
AutoGenerateSelectButton="True" >
请设置属性
AutoPostback ="true" for GridView.
谢谢,Hitesh