Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将网站移动到新服务器后加载viewstate失败错误_Asp.net_Iis - Fatal编程技术网

Asp.net 将网站移动到新服务器后加载viewstate失败错误

Asp.net 将网站移动到新服务器后加载viewstate失败错误,asp.net,iis,Asp.net,Iis,我真的不知道从哪里开始。我得到: `Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls a

我真的不知道从哪里开始。我得到:

`Failed to load viewstate.  The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.  For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.`
将网站移动到新服务器后。完全相同的代码在我的另一台服务器上工作。当我提交一份表格时就会发生这种情况(但不是在所有提交的表格上都这样做)

你知道是什么原因让我找个地方看看吗

使用:ASP.NET 2

编辑:我在运行时将一些用户控件动态添加到占位符中,但这段代码在我的另一台服务器上运行正常。在添加新控件之前,我尝试过清除占位符中的控件(正如我在一篇文章中看到的那样),但没有起到任何作用

编辑2:看来回发失败了。它也不会进入按钮的onClick代码,因此有些东西很容易出错。。如果我尝试/捕获异常,似乎所有控件都已成功添加。。。将我的动态UC设置为EnableViewState=false可解决此特定错误


EDIT3:好吧,我想我可能已经掌握了正在发生的事情。由于某些原因,旧服务器上的表单操作是
default.aspx?action=amend
,但新服务器显示的是
amend.html?action=amend
,因此我认为IIS中的重写模块出错了。这也可以解释添加控件的问题,因为该操作发生了2次(我认为)。我将查看“重写”模块,看看是否有错误,然后发回。

请查看以下文章:


或者尝试一个简单的临时解决方案-禁用此占位符的viewstate。不管怎样,我都不明白为什么它能在第一台服务器上工作。如果其他人能够进一步澄清此主题,我将非常高兴。

结果表明,此服务器上表单的回发Url错误(目前不确定原因,我将在知道后更新)。这会导致以意外的方式添加动态控件并导致错误。我注意到这一点时,我设法张贴我的表格和内容没有更新。我使用firebug手动调整了动作url,一切正常

不过,沃尔特关于动态控件和viewstate的回答值得一看


不确定是什么原因造成的,但我现在正在页面加载中手动设置表单操作,似乎已经解决了问题。

两台服务器都有相同版本的.NET?我在internet上发现了一些由兼容性问题引起的情况。net2与net3.5,因此可能值得检查。是的,不幸的是,两台服务器的版本相同。您是否尝试识别导致此问题的控件?您正在动态添加一些控件吗?