为什么更新DataGrid时,取不到TextBox中修改后的值,取到的只是修改前的数据?
以下是我在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);
。。。。。。
}
有谁知道怎么回事吗?怎么解决阿?!
问题点数:20、回复次数:17Top
1 楼popcode(枫.net)回复于 2004-11-01 02:24:14 得分 1
try
((TextBox)e.Item.FindControl("ControlId")).Text;Top
2 楼cansum396(漆黑的夜)回复于 2004-11-01 06:59:34 得分 2
page_load
if not ispostback then
datagrid1.datasource=...
endif
end subTop
3 楼nmlvjun(网事如风)回复于 2004-11-01 08:46:09 得分 3
if (!Page.IsPostBack)的原因,更新后又回到了原始状态
Top
4 楼Coder2k(Coder2k)回复于 2004-11-01 08:50:12 得分 1
帮你UPTop
5 楼shenghuayi(oldman)回复于 2004-11-01 08:53:03 得分 1
更新后,重新绑定就行了Top
6 楼amendajing(学习,是个漫长的旅途!)回复于 2004-11-01 08:53:19 得分 2
有可能如nmlvjun(网事如风)所说,你调试看看!Top
7 楼chenyu112(晨雨)回复于 2004-11-01 09:04:39 得分 3
同意楼上,你看看Page_Load中数据绑定在哪儿?
把数据绑定拿到if (!Page.ispostback){//数据绑定}试试Top
8 楼forideal(我心飞翔)回复于 2004-11-01 09:32:44 得分 1
是不是用了DataAdapter,更新数据后没有推进到数据库中?Top
9 楼tianjue0921(天珏)回复于 2004-11-01 09:45:42 得分 1
就是这个if (!Page.IsPostBack)的原因,我对他印象很深Top
10 楼PCXGG(一片云)回复于 2004-11-01 10:03:16 得分 1
就是这个if (!Page.IsPostBack)的原因,我对他印象很深
Top
11 楼liusp525(尘风)回复于 2004-11-01 12:18:44 得分 1
就是这个if (!Page.IsPostBack)的原因,我对他印象很深
我也是,调了好久呀!Top
12 楼oyff(欧阳峰峰)回复于 2004-11-01 12:23:18 得分 1
page_load
if not ispostback then
......
end sub
你的按钮按下以后
程序是先执行page_load,后执行你的按钮代码
所以page_load里要加上if not ispostback thenTop
13 楼wzphp(我爱吃海鲜)回复于 2004-11-01 12:49:04 得分 0
是不是这样啊?
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修改之前的数据。怎么办涅?Top
14 楼wzphp(我爱吃海鲜)回复于 2004-11-01 13:05:03 得分 0
To oyff(欧阳峰峰):
我在page_load中加了if (!Page.IsPostBack),结果一按“编辑”页面就出什么都没有了。Top
15 楼Study_Now( ? )回复于 2004-11-01 14:09:17 得分 1
string Name = ((TextBox)e.Item.Cells[2].Controls[0]).Text;
Response.Write(Name);
Name当然是原值,因为点击更新后,按程序的执行顺序,应该是先执行Response.Write(Name);后执行数据库更新。因此你把Response.Write(Name);放到数据库更新语句后面试试!!!如果还是原值,那么再重新读数据库重新邦定就行了!!!
Top
16 楼rainbowjjx(rainbowjjx)回复于 2004-11-01 14:56:43 得分 1
1.如果你在Page_Load中有對數據綁定,則一定加if(!this.IsPostBack)
2.在System.Web.UI.WebControls.DataGridCommandEventArgs e)
中用e.Item.findcontrol("ID")取控件
3.更新後需要重新綁定.
Top
17 楼wzphp(我爱吃海鲜)回复于 2004-11-01 15:18:29 得分 0
好了,谢谢各位。结贴给分!Top
相关问题
- 请问datagrid的编辑状态textbox返回的值为什么不是修改后的值,而是修改前原来的值?
- 动态修改 textbox 的数值?
- 用textbox绑定dataset,修改Datagrid中的数据出错
- 取不得文本框(TextBox)我欲修改的值
- TextBox绑定后为什么不能修改它的值?
- 急:TextBox绑定后为什么不能修改它的值?
- 如何得到repeater中textbox修改后的值,立即给分
- 奇怪了,为什么我的修改textbox的值始终保持原值
- 100分datagrid中修改时,我想把textbox设置成多行怎么做?
- textbox在Page_Load赋值之后update不能修改的问题。帮帮忙.




