我希望我的 GridView Rows 在单击它们时触发 SelectedIndexChanged 事件。
我在后面的代码中尝试了以下内容:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{
e.Row.Attributes.Add("onMouseOver", "Highlight(this)");
e.Row.Attributes.Add("onMouseOut", "UnHighlight(this)");
e.Row.Attributes.Add("onClick", String.Format("javascript:__doPostBack('GridView1','Select${0}')", e.Row.RowIndex));
}
}
当我单击一行时会发生回发,但它不会触发 SelectedIndexChanged。在 Page_Load 我从请求中获取参数:
if (IsPostBack)
{
object obTarget = this.Request.Form["__EVENTTARGET"]; //GridView1
object obArg = this.Request.Form["__EVENTARGUMENT"]; //Select$4
}
我认为必须提高 SelectedIndexChanged,还是我对此有误解?