GridView的updating事件中的e.NewValues["EName"].toString();取不到值
-
2010年7月2日 8:10
在使用GridView过程中,前前后后遇到过好几次这样诡异的情况,e.NewValues无论如何都为空,用数据源控件就没有问题,我自己给他DataSet则不行。
代码如下,希望朋友慧眼指正一下
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True" DataKeyNames="EID" onrowupdating="GridView1_RowUpdating" onrowediting="GridView1_RowEditing"> <Columns> <asp:BoundField DataField="EName" HeaderText="EName" SortExpression="EName" /> <asp:BoundField DataField="EJob" HeaderText="EJob" SortExpression="EJob" /> <asp:BoundField DataField="Etel" HeaderText="Etel" SortExpression="Etel" /> <asp:BoundField DataField="EFax" HeaderText="EFax" SortExpression="EFax" /> <asp:BoundField DataField="EEmail" HeaderText="EEmail" SortExpression="EEmail" /> <asp:BoundField DataField="EDate" HeaderText="EDate" SortExpression="EDate" /> </Columns> </asp:GridView>
using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class admin_Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataBound(); } private void DataBound() { System.Data.DataSet ds = Socut.Data.ExecuteDataSet("select * from employetb","bb"); this.GridView1.DataSource = ds; this.GridView1.DataBind(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string str = e.NewValues["EName"].ToString();//在这里一直取不到值,说是为空 } protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { this.GridView1.EditIndex = e.NewEditIndex; DataBound(); } }
- 已编辑 为梦狂奔 2010年7月2日 8:14 补充
全部回复
-
2010年7月2日 23:47
你提交后重新绑定了
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
DataBound()}
77138191qq群 .net与asp.net -
2010年7月3日 1:19
没有判断回发这是我在调试过程中去掉的,病急乱投医啊,有这判断也不行啊你提交后重新绑定了
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
DataBound()}
77138191qq群 .net与asp.net -
2010年7月3日 4:15
前台代码 贴出来 看看
77138191qq群 .net与asp.net -
2010年7月3日 15:36
前台代码 贴出来 看看
77138191qq群 .net与asp.net我就是新建了一个页面,直接拖了一个GridView别的啥也没动,
-
2010年7月4日 7:24
e.NewValues,e.OldValue等这几个属性应该只针对使用objectdatasource和sqldatasource等数据源绑定才有效,用户自定义数据源的更新应该自己处理.
- 已标记为答案 KeFang ChenModerator 2010年7月8日 5:54
-
2010年7月5日 2:49
为什么会这样呢,是真正的吗,希望高手解答e.NewValues,e.OldValue等这几个属性应该只针对使用objectdatasource和sqldatasource等数据源绑定才有效,用户自定义数据源的更新应该自己处理.
-
2010年7月5日 5:25版主
你好,
这个问题没碰到过。所以只好给个建议,文档做么做就怎么做。
http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.gridview.rowupdating.aspx
Microsoft Online Community Support- 已标记为答案 KeFang ChenModerator 2010年7月8日 5:54

