这就是我做的事情
代码:
using System.Web.UI;
using System.Web.UI.Adapters;
namespace eRecruitCore.Adapters
{
public class PageStateAdapter : PageAdapter
{
public override PageStatePersister GetStatePersister()
{
return new SessionPageStatePersister(this.Page);
}
}
}
在浏览器中添加了以下内容。将文件命名为“Default.browser”
<browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page" adapterType="Corelibrary.Adapters.PageStateAdapter" />
</controlAdapters>
<capabilities>
<capability name="requiresControlStateInSession" value="true" />
</capabilities>
</browser>
</browsers>
确保adapterType属性与为页面状态适配器创建的类命名空间匹配。
由于某些奇怪的原因,这段代码只能在Chrome中使用。当我说不起作用时,我的意思是,页面加载正常,但视图状态是一个很大的混乱。但是在IE和Firefox中,视图状态很小,页面加载速度更快。
我接下来要做的是在不同的用户代理下在Fiddler中加载页面,如果用户代理是chrome,则会出现同样混乱的视图状态。
我已多次检查代码,我写了一个示例网站进行测试。这在Chrome上运行良好。我真的不确定在哪里看。对此有任何帮助表示赞赏。
答案 0 :(得分:1)
我解决了这个问题。对于旧问题,代码清除了所有适配器。我修改了它,以便修复只清除了那些需要的适配器。现在它没有问题。