e.CommandName.ToString();  ?
你跟踪下着个e是不是为NULL呢?
VS有强大的跟踪调试功能哟。

解决方案 »

  1.   

    不用声名 CommandArgument  么
      

  2.   


    就是弹出一个windows窗口,说
    输入字符串格式不正确
    没提示哪行错误,
      

  3.   

    GridView1.DataKeys凭感觉,似乎是从这里取值的时候出了问题,单步跟跟这里
      

  4.   

    <asp:LinkButton
    无论用CommandName 或CommandArgument  
    都说e为null
      

  5.   

    <asp:LinkButton ID="LinkButton2" OnClientClick=<%# "window.open('a.aspx?id=" + Eval("id") + "')" %> runat="server"><%#  Eval("id") %></asp:LinkButton> <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# "~/a.aspx?id=" + Eval("id") + %>' Text='<%#  Eval("id") %>'></asp:HyperLink> <asp:LinkButton ID="lbtn" runat="server" CommandName="" CommandArgument='<%# Eval("ID") %>' Text='<%# Eval("ID") %>'> 
    </asp:LinkButton> 
    </ItemTemplate>
    protected void gv1_RowCommand(object sender, GridViewCommandEventArgs e) 

    if (e.CommandName == "") 

    string ID= e.CommandArgument.ToString; }