【发布时间】:2013-10-20 08:35:28
【问题描述】:
我正在尝试在 ASP.Net 4.0 中压缩视图状态,因此对于严重臃肿的视图状态页面,页面加载速度更快。
但是,当我在浏览器中查看页面源时,我发现 2 个隐藏字段具有相同的名称和 '__VIEWSTATE' 的 ID。
我的代码如下。 如何压缩视图状态,但让它存储在原来的隐藏字段中,而不创建另一个重复的隐藏字段?
protected override void SavePageStateToPersistenceMedium(object viewState)
{
byte[] viewStateArray;
using (MemoryStream memoryStream = new MemoryStream())
{
_objectStateFormatter.Serialize(memoryStream, viewState);
viewStateArray = memoryStream.ToArray();
}
ClientScript.RegisterHiddenField("__VIEWSTATE",
Convert.ToBase64String(GZip.Compress(viewStateArray)));
}
【问题讨论】: