如何在asp.net中制作webforms而不使用viewstate
我需要创建一个大型网站,但在asp.net中使用web窗体时,会出现viewstate问题。因为viewstate使网站非常沉重。如何在asp.net中制作webforms而不使用viewstate,asp.net,viewstate,Asp.net,Viewstate,我需要创建一个大型网站,但在asp.net中使用web窗体时,会出现viewstate问题。因为viewstate使网站非常沉重。 我们是否有其他选择,我不想使用mvc。要快速修复,您可以非常轻松地在会话中存储viewstate。有数百篇关于这个主题的指导性文章 但从长远来看,学习如何更有效地使用viewstate对您有利。可以在Web应用程序、页面或Web控件级别使用=“false”(或=“disabled”)属性禁用viewstate,并且viewstate数据不会存储在HTML中 您可以将
我们是否有其他选择,我不想使用mvc。要快速修复,您可以非常轻松地在会话中存储viewstate。有数百篇关于这个主题的指导性文章
但从长远来看,学习如何更有效地使用viewstate对您有利。可以在Web应用程序、页面或Web控件级别使用=“false”(或=“disabled”)属性禁用viewstate,并且viewstate数据不会存储在HTML中 您可以将数据保存在(每个用户都是唯一的)或(所有用户都是相同的) 希望这有帮助 编辑 将数据保存到会话:
Session["YourKeyName"] = "Object data";
从会话获取保存的数据:
object o = Session["YourKeyName"] as object; // Where object can be any type
将数据保存到缓存:
Cache["YourAnotherKeyName"] = "Object data";
从缓存中获取保存的数据:
object o = Cache["YourAnotherKeyName"] as object; // Where object can be any type
这里有几个“修复”
最快的“修复”是上面的第2个。这将允许您解决某些safari版本的问题。本质上,您最大的问题是各种浏览器对单个表单字段中可以显示的数据量有限制 如果您不想使用ViewState,但想保持控件的状态,则可以使用会话或在每次发布到服务器后手动为控件赋值。对于较重的控件,始终可以禁用ViewState,对于较轻的控件,始终可以启用ViewState
祝你好运 有没有很好的选择…我的意思是,在mvc中,他们如何摆脱viewstate…好的,当我的会话很重时,它会在导航其他页面时生效…或者它会有任何影响会话,默认情况下,存储在服务器端(内存中)。所以读写速度非常快。会话存储在客户端或服务器端,那么缓存呢…哪边请阅读本文和本文