首先把流程搞清楚:加载
1、加载数据到文本框
2、修改数据
3、点“提交”这次回传,导致后台页面再次加载原始数据到文本框
注意:此次后台程序又将文本框的值,设置成数据库里面的那个原来的值
4、插入数据库。。。结果插入的时候textbox的值已经变了,变成还是数据库里面的那个。。。
上述,可以设置断点调试,一下就看出来了。
调试会么?点左边设置断电,然后F5启动调试,到断点后按F11单步调试,看看各个变量的值
解决方法应该这样
1、在你加载原始数据到文本框的方法里面加上
if(!IsPostBack)
{
//此处加载文本框原始数据,并且只有再第一次加载页面的时候才改变textbox的值
}
意思是只有再页面首次加载的时候才加载文本框的值,如果是回传,则不加载
2、更新的方法里面加上
if(IsPostBack)
{
//此处写更新方法
}
意思是,当是页面回传的时候,更新文本框的值,其实这个加不加无所谓。
这是因为回传造成的首先把流程搞清楚:加载
1、加载数据到
文本框
2、修改数据
3、点“提交”这次回传,导致后台页面再次加载
原始数据
到文本框
注意:此次后台程序又将文本框的值,设置成数据库里面的那个原来的值
4、插入数据库。。。结果插入的时候textbox的值已经变了,变成还是数据库里面的那个。。。
上述,可以设置断点调试,一下就看出来了。
调试会么?点左边设置断电,然后F5
启动调试
,到断点后按
F11
单步调试,看看各个变量的值
解决方法应该这样
1、在你加载原始数据到文本框的方法里面加上
if(!IsPostBack){//此处加载文本框原始数据,并且只有再第一次加载页面的时候才改变textbox的值}意思是只有再页面首次加载的时候才加载文本框的值,如果是回传,则不加载
2、更新的方法里面加上
if(IsPostBack){//此处写更新方法}意思是,当是
页面回传
的时候,更新文本框的值,其实这个加不加无所谓。
分类: 电脑/网络 >>程序设计 >>其他编程语言问题描述:
我在asp页面里,编辑了几个文本框和一个添加按钮,我希望点击添加按钮后将文本框收集到的数据转换成单精度型并添加到数据库记录中.但是,在启动页面后就会自动添加一条记录其内容都是0,而我通过在文本框添加数据后再点击添加按钮来添加记录时,所添加的记录也都是0.请问这是为什么?急需,不胜感激!
解析:
自动添加,而且添加空值,应该是空值,为0是你自己设的默认值吧
这说明你的程序没有经过触发就自动提交了数据插入,修改你的插入代码,先判断参数,如果为空,那么就不执行插入,使用request
你点了按钮依然如此,还是这个问题,你的程序没有触发,没有数据合法检测,就自动添加了,按纽的设置和值的传递不管对错,你点了后,如果没有转向页,那当前页都会自动刷新一次,因为你的程序漏洞,刷新即插入数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)