我实现的是gridview的行选择(单击gridview行任何地方,进行回发),   protected void GridView3_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Attributes.Add("onclick", "__doPostBack('GridView3','Select$" + b.ToString() + "')");
            b++;
        }
    }如果我用设计器添加 "选择" 列 然后用 
_doPostBack('GridView1','Select$1') 进行回调 就不会有问题,但是如果我不添加"选择"列 它就会报以下错误 求解!回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 我用ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证怎么操作,希望哪位达人指教,并说明原理好吗? 网上找的代码是:    
protected override void Render(HtmlTextWriter writer) 

    ClientScript.RegisterForEventValidation(ddlPro.UniqueID, this.ToString()); 
}用了没有效果 最后在aspx中 <%@ Page>中加上EnableEventValidation="false" 解决了问题,