• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

为什么更新DataGrid时,取不到TextBox中修改后的值,取到的只是修改前的数据?

wzphp 2004-11-01 02:13:42
以下是我在DataGrid中点击“更新”的处理代码,取不到TextBox中修改后的值。怎样才能取到的修改后的数据啊?(比如我在点击“编辑”之后进入编辑状态,在TextBox中将原来的111改成222,然后点击“更新”,发现数据并没被修改,后来用下面的办法,把值取出来一看竟然还是修改前的数据)

private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
string Name = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
Response.Write(Name);
。。。。。。
}

有谁知道怎么回事吗?怎么解决阿?!
...全文
188 点赞 收藏 17
写回复
17 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wzphp 2004-11-01
是不是这样啊?
private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if (!Page.IsPostBack)
{
string Name = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
Response.Write(Name);
。。。。。。
}
}
这样的话,按“更新”没反应阿,现在不是绑定的问题,是Response.Write(Name)出来的是TextBox修改之前的数据。怎么办涅?
回复
oyff 2004-11-01
page_load
if not ispostback then
......
end sub

你的按钮按下以后
程序是先执行page_load,后执行你的按钮代码
所以page_load里要加上if not ispostback then
回复
liusp525 2004-11-01
就是这个if (!Page.IsPostBack)的原因,我对他印象很深

我也是,调了好久呀!
回复
PCXGG 2004-11-01
就是这个if (!Page.IsPostBack)的原因,我对他印象很深
回复
tianjue0921 2004-11-01
就是这个if (!Page.IsPostBack)的原因,我对他印象很深
回复
forideal 2004-11-01
是不是用了DataAdapter,更新数据后没有推进到数据库中?
回复
chenyu112 2004-11-01
同意楼上,你看看Page_Load中数据绑定在哪儿?
把数据绑定拿到if (!Page.ispostback){//数据绑定}试试
回复
amendajing 2004-11-01
有可能如nmlvjun(网事如风)所说,你调试看看!
回复
Oldman 2004-11-01
更新后,重新绑定就行了
回复
Coder2k 2004-11-01
帮你UP
回复
nmlvjun 2004-11-01
if (!Page.IsPostBack)的原因,更新后又回到了原始状态


回复
cansum396 2004-11-01
page_load
if not ispostback then
datagrid1.datasource=...
endif
end sub
回复
wzphp 2004-11-01
好了,谢谢各位。结贴给分!
回复
rainbowjjx 2004-11-01
1.如果你在Page_Load中有對數據綁定,則一定加if(!this.IsPostBack)
2.在System.Web.UI.WebControls.DataGridCommandEventArgs e)
中用e.Item.findcontrol("ID")取控件
3.更新後需要重新綁定.
回复
popcode 2004-11-01
try
((TextBox)e.Item.FindControl("ControlId")).Text;
回复
Study_Now 2004-11-01
string Name = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
Response.Write(Name);

Name当然是原值,因为点击更新后,按程序的执行顺序,应该是先执行Response.Write(Name);后执行数据库更新。因此你把Response.Write(Name);放到数据库更新语句后面试试!!!如果还是原值,那么再重新读数据库重新邦定就行了!!!
回复
wzphp 2004-11-01
To oyff(欧阳峰峰):
我在page_load中加了if (!Page.IsPostBack),结果一按“编辑”页面就出什么都没有了。
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-11-01 02:13
社区公告
暂无公告