我有一个文本框,编程方式我将它设置为'Enabled = false'。当此页面在更改后获得回发时,此文本框将启用的值返回为true。为什么?ASP.NET:文本框丢失在回发启用的值
我将文本框放入updatepanel中。
我有一个文本框,编程方式我将它设置为'Enabled = false'。当此页面在更改后获得回发时,此文本框将启用的值返回为true。为什么?ASP.NET:文本框丢失在回发启用的值
我将文本框放入updatepanel中。
在Page_Load,执行以下操作:
If (IsPostBack) Then
Textbox1.Enabled = False
End If
但是这个文本框没有被启用= false,当其他文本框触发事件“textchanged”时,我切换该属性,如果触发该事件的文本框有特定值,我将其他文本框更改为禁用。 – FCarrasco 2013-03-18 18:31:49
如果你在代码隐藏在Page_Load事件中设置它,你需要记住的Page_Load甚至在回发发生。你有两个选择。
将它放在一个块中,该块检查页面是否为回发。
if(!Page.IsPostBack)
{
TextBox1.Enabled = false;
}
或将其设定在Page_Init
。
如果您还不熟悉它,请确保您了解页面生命周期。这是ASP.NET开发人员必须了解的信息。请阅读http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx
我明白你,但是,这个文本框永远不会被启用= false,当其他文本框触发事件“textchanged”时,我切换此属性,如果启动事件的文本框具有特定值,我将其他文本框更改为禁用。 也许我只是评估条件的任何方式,我得到一个回传...但这种情况下有很多数据库查询,可以减缓回发 – FCarrasco 2013-03-18 18:32:34
您是否在Page_Load事件中设置了代码隐藏? – David 2013-03-18 13:52:35
请添加一些代码和标记。 – 2013-03-18 13:53:04
因为这不是正常的行为,所以它可能是你代码中的东西。因为你没有提供任何代码 - 没有办法来帮助你... – Blachshma 2013-03-18 13:53:36