asp.net后台获取不到前端的TextBox(readonly=true)文本值

文章目录

具体案例说明:个人信息修改页面—PersonMessage.aspx
打开该页面就可看见自己的一些信息(此时这些信息是不可修改模式)
通过点击button按钮(修改信息)使得页面上的文本框变成可修改模式,然后在页面上修改个人信息,再接着点击另一个button控件(提交信息)进行信息的提交,把数据库中的信息进行更新,提示更新信息成功之后,页面会显示最新的帐户信息。


设计概括
设计方案1error: 修改信息时无法修改
TextBox控件,直接在aspx页面设置该控件属性readonly为true—此时进入页面只能查看到信息但是不能修改
button1控件(修改信息),点击button1,使TextBox控件的readonly属性为false,这样就可以在TextBox控件上输入内容了
button2控件(提交信息),点击button2,用于获取TextBox文本框的文本值(此时是直接通过TextBoxId.Text来获取文本框的内容),然后更新到数据库中。

设计方案2error: 修改信息时无法修改
TextBox控件(此时没有直接在aspx页面进行readonly=true属性的设置),而是在后台(aspx.cs页面)的Page.Load()方法里设置
button1控件(修改信息),点击button1,使TextBox控件的readonly属性为false,这样就可以在TextBox控件上输入内容了
button2控件(提交信息),点击button2,用于获取TextBox文本框的文本值(此时是直接通过TextBoxId.Text来获取文本框的内容),然后更新到数据库中。

错误说明: 利用readonly属性进行修改使得TextBox变成了只读属性,无法再进行修改

设计方案3运行成功
先设置TextBox控件的enable属性为false(直接在aspx页面设置或者在后台Page.Load()函数里面添加TextBox.enable=false都可以)
button1控件(修改信息),点击button1,使TextBox控件的enable属性为true
button2控件(提交信息),点击button2,用于获取TextBox文本框的文本值(此时是直接通过TextBoxId.Text来获取文本框的内容),然后更新到数据库中。

初始信息展示 (此时TextBox.enable=false)
asp.net后台获取不到前端的TextBox(readonly=true)文本值
修改信息页面展示(TextBox.enable=true)
asp.net后台获取不到前端的TextBox(readonly=true)文本值
提交信息之后页面展示
asp.net后台获取不到前端的TextBox(readonly=true)文本值

上一篇:C#WinForm中支持透明的TextBox控件


下一篇:WPF MVVM事件绑定