先在aspx页面的 Page 属性中添加
EnableEventValidation="false"
然后在 GridView 的 RowDataBound 事件中写入以下代码 就OK了
if (e.Row.RowIndex != -1)
{
//增加点击事件
PostBackOptions myPostBackOptions = new PostBackOptions(this);
myPostBackOptions.AutoPostBack = false;
myPostBackOptions.RequiresJavaScriptProtocol = true;
myPostBackOptions.PerformValidation = false;
String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select{1}quot; + e.Row.RowIndex.ToString());
e.Row.Attributes.Add("onclick", evt);
}
最近遇到新问题,如果在GridView网格中编辑,在实现上边的一段代码,会有个问题;就是在行内编辑的时候,文本框获取不到光标(图片就不发了,如有遇到此问题的编程人员会懂我说的是什么意思的),对此我再发以下代码解决此问题
protected void grdDataH_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if ((e.Row.RowState & DataControlRowState.Edit) != DataControlRowState.Edit)
{
//增加点击事件
PostBackOptions myPostBackOptions = new PostBackOptions(this);
myPostBackOptions.AutoPostBack = false;
myPostBackOptions.RequiresJavaScriptProtocol = true;
myPostBackOptions.PerformValidation = false;
String evt = Page.ClientScript.GetPostBackClientHyperlink(sender as GridView, "Select{1}quot; + e.Row.RowIndex.ToString());
e.Row.Attributes.Add("onclick", evt);
}
}
}
此代码复制粘贴可用,希望遇到此问题的人采纳!!!