读数据库---写到文本框---文本框中修改---再读取文本框---更新到数据库。
请问这样可行吗?为什么我这样做了更新到数据不成功的
asp.net读取数据库到文本框,修改再更新到数据库
答案:5 悬赏:0
解决时间 2021-04-21 05:20
- 提问者网友:先森请一心
- 2021-04-21 00:25
最佳答案
- 二级知识专家网友:不羁的心
- 2021-04-21 00:41
这是因为回传造成的
首先把流程搞清楚:加载
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)
{
//此处写更新方法
}
意思是,当是页面回传的时候,更新文本框的值,其实这个加不加无所谓。
全部回答
- 1楼网友:嗷呜我不好爱
- 2021-04-21 05:48
建立一个textbox控件数组,在text的index属性里填上0 然后动态加载是load
再调整位置就可以了
事件里写上
dim nextindex as long
nextindex = text.ubound + 1
load text(nextindex)
with text(nextindex)
.width = text(0).width
.height = text(0).height
.top = text(0).height * nextindex + text(0).top
.left = text(0).left
.visible = true
end with
- 2楼网友:青灯壁纸妹
- 2021-04-21 04:41
弄个代码看看. 文本框里面的值就是数据库里面的一个字段. 可能是你文本框里面有"'--这样的关键字才会阻止你提交数据库吧, 建议你调试下. 文本框里面的值是多少.有没有sql的关键字存在.
- 3楼网友:堕落奶泡
- 2021-04-21 03:06
把你的代码MailTo:[email protected]
- 4楼网友:懂得ㄋ、沉默
- 2021-04-21 01:49
当然可以,但是你要写代码进去才会执行更新数据
像这样:
if(IsPostBack)
{
......
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |