我updatepanel里头套了个Repeater控件,这个控件,里头有<asp:LinkButton ID="lbEdit" CommandArgument='<%#DataBinder.Eval(Container.DataItem,"aid") %>' CommandName="Edit" runat="server" Text="Edit"></asp:LinkButton>
在后台方法中,提取不到e.CommandArgument,怎么回事?    protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "Delete")
        {            Response.Write("<script>alert('"+e.CommandArgument+"');</script>");
        }
        
    }

解决方案 »

  1.   

    CommandName="Edit"
    if (e.CommandName == "Delete") 
    ???
      

  2.   

    写错,应该是
    if(e.CommandName == "Edit")
      

  3.   

    查看下 updatepanel的关联属性与要绑定的控件ID 关联了没?
      

  4.   

    在Updatepanel中去添加
     <Triggers >
            <asp:PostBackTrigger ControlID="Repeater1" />
           
            </Triggers>
      

  5.   

    这说明 <%#DataBinder.Eval(Container.DataItem,"aid") %>  根本没有得到值。你可以将这个表达式写成函数,例如 <%# testFunc((int)DataBinder.Eval(Container.DataItem,"aid")) %>在后台写方法
       
        protected int testFunc(int aid)
       {
           这里输出最终要绑定的值,哪怕简单地 return aid。 你可以在这里设置(条件)断点观察,或者将输入aid记录到日志里观察。
       }
      

  6.   


     <Triggers >
            <asp:PostBackTrigger ControlID="Repeater1" />
           
            </Triggers>还是提取不到值!
      

  7.   

    1.<asp:LinkButton ID="lbEdit" CommandArgument=' <%#DataBinder.Eval(Container.DataItem,"aid") %>' CommandName="Edit" runat="server" Text="Edit"> </asp:LinkButton> 
    在后台方法中,提取不到e.CommandArgument,怎么回事?     protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) 
        { 
            if (e.CommandName == "Delete") 
            { 2.
    列完整代码
      

  8.   

    updatepanel里不能写response.write?