GridView中存在多行数据,如何获取数据表主键值以对某一整行数据进行编辑

 <%-- asp.net初学者,还请大神多多提点--%>

代码如下:

protected void grvMHN_RowEditing(object sender, GridViewEditEventArgs e)

    {
        

        grvMHN.EditIndex = e.NewEditIndex;

        this.lblId2.Text = grvMHN.DataKeys[grvMHN.EditIndex].Value.ToString();
        TplHkbCyy thc = null;

        thc = tcyym.GetModel(Convert.ToInt32(this.lblId2.Text));

。。。。。。

}

本来一开始想通过GridViewEditEventArgs e来获取e.CommandArgument,也在前台按钮中设置好了CommandArgument的值(数据库字段),却发现报错:

//错误1 “System.Web.UI.WebControls.GridViewEditEventArgs”不包含“CommandArgument”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.GridViewEditEventArgs”的第一个参数的扩展方法“CommandArgument”(是否缺少 using 指令或程序集引用?)

而后转为使用其他方法:

si=Convert.ToInt32(GridView1.DataKeys[drv.RowIndex].Value); 

//获取GridView中绑定数据库中的主键值,运用此方法,需要对GridView的DataKeyNames属性进行设置,此例中设置为主键字段。

然而有报错,发现我的grvMHN并没有RowIndex,搜索了相关资料发现,说:


//RowIndex 是 Winform 下才有的,在 System.Windows.Controls.GridViewEditEventArgs 命名空间下;而 System.Web.UI.WebControls.GridViewEditEventArgs,很显然是 Web 开发,应该用 NewEditIndex。

就想直接获取grvMHN的NewEditIndex发现并没有,只有EditIndex也就通过上面转换了一下NewEditIndex。又周折了一番,摸索。。。才终于出来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值