我真的不知道从哪里开始。我正进入(状态:
`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。
编辑:我在运行时动态地将一些用户控件添加到占位符中,但是相同的代码在我的其他服务器上运行正常。在添加新控件之前,我曾尝试清除占位符中的控件(因为我看到了一篇关于此的帖子),但它没有帮助。
EDIT2:似乎回发只是失败了。它也没有进入按钮的 onClick 代码,所以有些东西肯定很奇怪。特定的错误。
EDIT3:好的,我想我可能对正在发生的事情有所了解。出于某种原因,旧服务器上的表单操作是default.aspx?action=amend
,但新服务器正在显示amend.html?action=amend
,所以我认为重写模块在 IIS 中搞砸了。这也可以解释控制添加问题,因为该操作发生了 2 次(我认为)。我将查看 Rewrite 模块,看看是否有任何问题,然后发回。