C# 如何获取构建的、编码的ViewState的值?
我需要获取C# 如何获取构建的、编码的ViewState的值?,c#,asp.net,C#,Asp.net,我需要获取base64编码的视图状态的表示形式。显然,这在请求生命周期的相当晚的时候才可用,这是可以的 例如,如果页面的输出包括: <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" /> 我需要一种在服务器端获取值的方法“/wEPDwUJODU0Njc5MD…=” 为了澄清,我在呈现页面时需要这个值,而不是在回发时。e、 g.我需要知道发送到客户
base64编码的视图状态的表示形式
。显然,这在请求生命周期的相当晚的时候才可用,这是可以的
例如,如果页面的输出包括:
<input type="hidden" name="__VIEWSTATE"
id="__VIEWSTATE" value="/wEPDwUJODU0Njc5MD...==" />
我需要一种在服务器端获取值的方法“/wEPDwUJODU0Njc5MD…=”
为了澄清,我在呈现页面时需要这个值,而不是在回发时。e、 g.我需要知道发送到客户机的ViewState值,而不是我从他们那里得到的ViewState。Rex,我想开始寻找的一个好地方是压缩ViewState的解决方案-在将ViewState发送到客户机并压缩之前,他们在服务器上获取ViewState。那正是你想去的地方
- (2005年)
- (2007年)
作者描述了一种覆盖生成ViewState的默认行为的方法,并展示了如何将其保存在服务器会话对象上
在ASP.NET 2.0中,ViewState通过
PageStatePersister的后代
班级。这个类是一个抽象类
用于保存和加载视图状态和
有两个实现的子体
在.Net Framework中属于此类的,名为
HiddenFieldPageStatePersister和
SessionPageStatePersister。默认情况下
使用HiddenFieldPageStatePersister
要保存/加载ViewState信息,
但是我们可以很容易地得到
SessionPageStatePersister正常工作,并且
在会话对象中保存ViewState
虽然我没有测试他的代码,但它似乎正好显示了您想要的:在回发之前,在服务器上访问ViewState代码的方法 我在上面发布的类似文章之后启用了压缩。在应用程序发送ViewState之前访问ViewState的键覆盖了此方法
protected override void SavePageStateToPersistenceMedium(object viewState)
您可以在此覆盖中调用基本方法,然后添加处理ViewState所需的任何附加逻辑