在GridView Row上注册SelectedIndexChanged事件

时间:2012-10-08 21:36:59

标签: asp.net gridview postback

我正在为ASP.NET GridView中的每一行注册一个回发事件。

protected void gvLRR_RowDataBound(object sender, GridViewRowEventArgs e) {
  if (e.Row.RowType == DataControlRowType.DataRow) {

    if (cs == null)
      cs = Page.ClientScript;

    e.Row.Attributes.Add("onclick", 
      cs.GetPostBackEventReference((GridView)sender, "Select$" + e.Row.RowIndex.ToString()));
  }
}

用户单击行时调用的事件是GridView gvLRR的SelectedIndexChanged。

问题: 只要我将页面指令EnableEventValidation设置为false,所有这些都可以正常工作,但是如果我没有将它设置为false,那么当用户单击GridView中的一行时页面就会爆炸。但是,我认为这有点像黑客,因为我不必禁用事件验证只是为了在点击GridView行时获得回发事件。那么还有更好的方法吗?我可以以某种方式为行单击注册回发事件,并以某种方式设法启用事件验证吗?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

在网上搜索时,我发现了这个...... click row on gridview and trigger postback c#

HTH:)