asp.net 文本框的取值问题。

主要功能是修改。我在页面的LOAD事件中,从数据库查出了一个对象,在页面弄了几个控件(TEXTBOX,RADIOBUTTON),然后把对象属性赋值给他们,显示出来。然后对... 主要功能是修改。
我在页面的LOAD事件中,从数据库查出了一个对象,在页面弄了几个控件(TEXTBOX,RADIOBUTTON),然后把对象属性赋值给他们,显示出来。
然后对页面的文本框进行编辑。再在按钮的CLICK事件中,取得文本框的text。
现在有问题是,我把文本框里面的值给修改了,但在按钮的事件里面,取到的却是没修改以前的。我实在无法理解,希望各位帮助分析一下。
展开
 我来答
yangshunyu6288
2009-03-15 · TA获得超过117个赞
知道答主
回答量:212
采纳率:0%
帮助的人:174万
展开全部
你的load时间必须放到下面的{}里面
if(!IsPostBack)
{
//load事件
}
因为放到这里就是页面第一次加载是将数据库里面的数据绑定到控件上,之后你点击按钮,是页面不会再将数据库里的数据再绑定一次,所以得到的才是你修改过的数据,如果不放到这里面,当点击按钮是页面又要重新加载一次,并且再次绑定数据到空控件,所以你得到的数据还是原来的
miniappLVDw3bvup25J7
2009-03-16 · TA获得超过341个赞
知道小有建树答主
回答量:175
采纳率:0%
帮助的人:0
展开全部
1.原因:是不是因为修改过的值提交上来以后,又被你从数据库读取的数据给覆盖了?

2.解决方法:在窗体的Load事件中,加入判断:
void OnLoad(EventArgs e)
{
if(!IsPostBack)
{
//页面是打开的,不是提交的
//这里可以读取database的数据到控件
}
else
{
//页面数据提交
//这里取得输入的值
}
}
3.进一步:提交后如果还需要读取database去显示这个页面,那么也不用担心。只要将需要取值的控件的“EnableViewstate”属性设置为true,那么控件的值会一直被保留,不用再次读取database。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式