关于TextBox的Enable与ReadOnly属性
大家都知道TextBox编译到客户端浏览器其实是<Input type="text">控件,而Enabled与Readonly编译到浏览器的代码是disabled和ReadOnly。为什么要说这两个属性呢,因为这两个属性跟我们后台编程时取值有关系。
在.Net 1.1和.Net 2.0平台下,如果把TextBox的Enabled设置为True,而我们通过脚本修改控件的值后,在后台是取不到修改后的值的。也就是说后台代码是取不到属性Enabled为True的新值.这样就对我们编程有一定的不便,这样的话,我们要设置一下TextBox不可编辑时,就不能用Enabled了,而要用ReadOnly这个属性。
在.Net 1.1和.Net 2.0平台下TextBox控件的ReadOnly属性用法有所不同。在.Net 1.1平台下,我们直接把TextBox控件的ReadOnly属性设置为True,在后台是可以取到值的。但是在.Net 2.0平台下这样直接设置是取不到值的,这是因为.Net 2.0平台为了安全性考虑,在服务器端不处理只读文本框, 我们可以动态改变TextBox的ReadOnly属性,例:TextBox1.Attributes.Add("readonly", "true");这样就不会影响后台取值了。