<asp:Button ID="see" runat="server" Text="查看密保卡" CommandName="See" /> protected void Data_g_ItemCommand(object source, DataGridCommandEventArgs e)
    {
        if (e.CommandName == "See")
        {
            card.CardID = Data_g.DataKeys[e.Item.ItemIndex].ToString();
            DataSet ds = card.SelCardbyCardID();
            ds.Dispose();
            string url = card.RUL;
            this.Image1.ImageUrl = "mbimages/" + url + "";
        }
    }
情况:点击按钮  提示:回发或回调参数无效。在配置中使用 <pages enableEventValidation="true"/> 或在页面中使用 <%@ Page EnableEventValidation="true" %> 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。 然后我加上了EnableEventValidation="false" 再次点击按钮,ItemCommand事件没反映,我在里头设置了断点,没有跳进去,求教

解决方案 »

  1.   

    if(!IsPostBack) 

    //页面各控件初始化代码 
    //初步绑定,都放在这里面
    }
      

  2.   

    不是if(!IsPostBack)的问题,我写过了
      

  3.   

    这样写就很好啊<asp:Button ID="see" runat="server" Text="查看密保卡" CommandName="See" CommandArgument='<%#Eval("Id") %>'
                OnClick="see_Click" />
    protected void see_Click(object sender, EventArgs e)
      {
        Button s = sender as Button;
        Response.Write(s.CommandArgument);
      }
      

  4.   

    本帖最后由 net_lover 于 2012-08-18 09:28:47 编辑