<%-- 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。又周折了一番,摸索。。。才终于出来了。