<asp:TemplateField HeaderText="基本操作">
        <ItemTemplate>
          <asp:ImageButton ID="imgbtnChangeState" runat="server" ImageUrl='<%#Convert.ToInt32(Eval("State"))==1?"~/images/main_50.gif":"~/images/main_51.gif" %>' CommandName="ToChangeState" CommandArgument='<%#Bind("UserID") %>' />
        </ItemTemplate>
</asp:TemplateField>OnRowCommand="gvUserManage_RowCommand"添加了rowcommand事件,但是点击ImageButton却不激发rowcommand,那是什么原因啊 ????

解决方案 »

  1.   

    针对你的代码测试了一下, 完全没问题。
    protected void gvUserManage_RowCommand(object sender, GridViewCommandEventArgs e)
    {
            if(e.CommandName=="ToChangeState")
                Page.ClientScript.RegisterStartupScript(this.GetType(), "key", string.Format("alert('{0}');", e.CommandArgument), true);
    }
    图片正确显示。Rowcommand也正常执行。
    <asp:GridView ID="gvUserManage" runat="server"             onrowcommand="gvUserManage_RowCommand">看一下上面粗体部分存不存在?