如何在asp.net中最小化页面的视图状态大小? 请帮忙。
答案 0 :(得分:19)
您有几种方法可以减少ViewState:
答案 1 :(得分:5)
大多数要点都在其他答案中突出显示。这可能是有帮助的:
减少服务器控件(例如web / html控件)的数量,特别是那些您不需要的控件。请改用简单的HTML标记。
我已经看到太多的冗余表/行/单元Web控件的情况,其中正常<表>,< tr>和< td>会做的。
答案 2 :(得分:1)
您无法最小化ViewState的大小。这是序列化/反序列化的ASP.NET。虽然您可以选择性地禁用不需要它的控件的ViewState。
答案 3 :(得分:1)
我选择在服务器上保存数据库本身的视图状态,不允许它在HTML中传递给膨胀页面大小的客户端。您可以扩展HiddenFieldPageStatePersister并解决此问题。如果你愿意,我已经写了一篇详细的文章......
答案 4 :(得分:0)
您可以打开服务器上的压缩,以最大限度地减少通过网络传输的数据的大小,或将viewState保存到磁盘,并且永远不会将其发送到客户端。
答案 5 :(得分:0)
protected override PageStatePersister PageStatePersister
{
get
{
return new SessionPageStatePersister(this);
}
}
在生成大型viewstate值的页面后面的代码中添加上面的代码。这允许将viewstate存储在会话中。现在只应添加一个视图状态的键。