在哪里以及如何使用Page.RegisterRequiresViewStateEncryption()?
问题描述:
我想知道如何使用viewState加密注册一个控件。 Page.RegisterRequiresViewStateEncryption()
方法的语法不指示页面对象以外的特定控件。提供一个示例代码来回答这个问题会很有帮助。在哪里以及如何使用Page.RegisterRequiresViewStateEncryption()?
答
RegisterRequiresViewStateEncryption()将与Page
对象的ViewStateEncryptionMode属性一起使用。该属性支持三个值:
-
Always
:页面的视图状态将总是进行加密。 -
Never
:即使RegisterRequiresViewStateEncryption()
由控件或页面本身调用,页面的视图状态将为从未被加密。 -
Auto
:页面的视图状态将被加密仅当RegisterRequiresViewStateEncryption()
被控件或页面本身调用时。
所以,如果你打电话Page.RegisterRequiresViewStateEncryption()
,比如说,从一个控件的OnLoad()
方法,或者从OnLoad()
方法或网页的Page_Load
事件,视图状态将被加密,除非你页面的ViewStateEncryptionMode
属性设置为Never
。
上面的第一个链接包含一个代码示例,如果最终用户选择检索敏感信息,则在回发时启用视图状态加密。