CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

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

楼主wzphp(我爱吃海鲜)2004-11-01 02:13:42 在 .NET技术 / ASP.NET 提问

以下是我在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不能修改的问题。帮帮忙.

关键词

  • 修改
  • 数据
  • 数据库
  • 执行
  • datagrid
  • ispostback
  • 更新
  • 值
  • textbox
  • datagridcommandeventargs

得分解答快速导航

  • 帖主:wzphp
  • popcode
  • cansum396
  • nmlvjun
  • Coder2k
  • shenghuayi
  • amendajing
  • chenyu112
  • forideal
  • tianjue0921
  • PCXGG
  • liusp525
  • oyff
  • Study_Now
  • rainbowjjx

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo