EnableViewState=true了么?

昨天刚把CRMCenter的WEB程序正式部署到CRM的服务器上面了。上线后赶紧做一下简单的使用测试,发现一个很奇怪的现象,就是ASP.NET的下拉框在刷新之后内容被全部清空了。明显就是ViewState没有保存下来。觉得很奇怪啊!为什么呢?因为我在本机和开发的同事的机器上都没有这个问题的。赶快去查页面控件是不是设成了EnableViewState=true了,找了一遍发现并没有什么问题,因为不管是页面和空间默认都是设成了EnableViewState=true了。

开始疑惑了,是不是因为部署在MS CRM3.0的站点下面的问题呢?嗯,有可能。。。

于是就去查一下MS CRM 3.0的站点地设置,果然里面有这么一句:

    <pages enableSessionState="true" validateRequest="false" enableViewState="false" />

    我们自己的Web.config原来就一句

<pages theme="default" />

原来只是节点设置了的话是不会覆盖上级站点的配置的,如果你的虚拟路径和上级的站点设置不一样的时候,还需要单独配置每个属性才行。

终于解决了问题。