protected void UserView_RowCommand(object sender,GridViewCommandEventArgs e)
{
///获取参数
string commandName = e.CommandName;
string cmd = "";
        cmd = e.CommandArgument.ToString();        int index = Convert.ToInt32(e.CommandArgument);
        GridViewRow gvr = UserGridView.Rows[index];
        ListItem item = new ListItem();
        item.Text = Server.HtmlDecode(gvr.Cells[4].Text); ///创建User实例
IUser user = new User();
switch(commandName)
{
case "Delete":
{
///删除选择的用户
user.DeleteUser(""); ///重新绑定GridView的数据
Response.Write("<script>alert('" + "删除用户成功,请检查数据库是否吻合!!!" + "');</script>");
BindUserData();
break;
}
default:
break;
}
}
是不是还要在什么地方对(e.CommandArgument赋值呢

解决方案 »

  1.   

    在2003里面,在html里给你的按钮加上CommandArgument就可以了
    2005没有用过,不知道呢,你试下吧
      

  2.   

    我是在vs2005里,奇怪我以前都可以获值,现在获取的是 居然是 '<% Eval("TemplateID") %>'
    ????
      

  3.   

    你应该没有对CommandArgument进行赋值吧,拿当然是取不到值的。
    你的GridView中应该有个Button
    对你的GridView添加RowCreated事件,
    protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
           Button btnSubmit= (Button)(e.Row.FindControl("btnSubmit"));
           btnSubmit.CommandArgument = e.Row.RowIndex.ToString();
        }
    }