Pat*_*ins 0 c# asp.net viewstate .net-2.0 c#-2.0
为什么当一个控件确实包含值但它设置为 .Enable=False 时,所有控件都会变为禁用(没关系),但为什么 ViewState 不会在下一次回发时保留数据?如果我获取 UserControl 而不修改其启用状态,则 ViewState 在回发之间工作。
我们如何禁用 UserControl 使其所有控件都变为禁用(这部分有效),但所有控件都保留使用 ViewState(这不起作用)?
1)在aspx.cs中单击按钮编辑:
myControl.Enabled = false;
//This produce to have all controls in myControl to be disabled.
Run Code Online (Sandbox Code Playgroud)
2)在asp.cs中:点击Save离开EDIT状态:
myControl.Enabled = true;
//This produce that all controls inside myControl are blank : no viewstate!
Run Code Online (Sandbox Code Playgroud)
其他回发之所以有效,是因为我们没有将 myControl.Enable 设置为 false。
指定.Enable=False
就像服务器端禁用,而不是客户端禁用。这是出于安全目的,因此即使用户使用某些客户端技巧“重新启用”输入元素,您也可以真正禁用它。如果您想执行客户端禁用,则需要使用脚本,或者可能使用属性readonly
。
归档时间: |
|
查看次数: |
1401 次 |
最近记录: |