我最近开始将 ASP.NET 项目从 .NET 版本 1.1 迁移到 4.0。该系统目前在客户站点上运行并且可以正常工作。当我通过 VS 向导迁移解决方案时,我没有收到任何错误。错误是没有服务器控件事件起作用,并且视图状态始终为空。
我已经尝试明确设置ViewStateMode
为 Enabled 和AutoEventWireup
true。不幸的是,没有任何效果。该项目不是作为 Web 应用程序编写的(转换不能解决问题)。
我还检查了是否所有服务器控件都设置了 ID(它们确实设置了)。
该项目有自己的母版页系统,System.Web.UI.Page 上有一层厚厚的层,可能会破坏很多东西,但到目前为止我还没有找到问题的根源。
是否有任何我应该检查的特定设置(即自 .NET 1.1 以来更改的默认值)或者你能给我一些提示为什么会发生这种情况?
编辑 1:这些是单击链接按钮时发布的值:
CRC =-2134936892& _ EVENTTARGET =MPage%24BC%24TestButton&_EVENTARGUMENT =& _ VIEWSTATE =&_EVENTVALIDATION =%2FwEWAwL%2BraDpAgLB49K8AwKy8rFAt4Axk3NlUEWxrtY%2FRtaexH%2F634CkJe6G9Im5EOPXtVw%3D
编辑 2:我仔细检查了自定义母版页机制,发现它Server.Transfer(...)
在跳转到正确的页面之前广泛使用了方法。这是缺少 ViewState 的可能原因吗?(那么奇怪的是,EventTarget 总是保持不变)更重要的是,1.1 和 4.0 之间会不会有任何变化?