ASP.NET 1.1到4.0迁移:事件不起作用

Jan*_*vil 14 .net asp.net migration asp.net-1.1 asp.net-4.0

我最近开始将ASP.NET项目从.NET 1.1版迁移到4.0版.该系统目前在客户现场运行并正常运行.当我通过VS向导迁移解决方案时,我没有收到任何错误.错误是没有服务器控件事件工作视图状态始终为空.

我已经尝试明确设置ViewStateMode为Enabled和AutoEventWireuptrue.但遗憾的是没有任何作用.该项目不是作为Web应用程序编写的(转换不能解决问题).

我还检查是否所有服务器控件都设置了(他们这样做).

该项目有自己的母版页系统,System.Web.UI.Page上有一个厚层可能会破坏很多东西,但到目前为止我还没有找到麻烦的来源.

是否有任何特定的设置我应该检查(即自.NET 1.1以来默认值已更改)或者您能给我一些提示,为什么会发生这种情况?

编辑1:这些是单击LinkBut​​ton时发布的值:

CRC = -2134936892&_ EVENTTARGET = MPage%24BC%24TestButton&_EVENTARGUMENT =&_ VIEWSTATE =&_EVENTVALIDATION =%2FwEWAwL%2BraDpAgLB49K8AwKy8rFAt4Axk3NlUEWxrtY%2FRtaexH%2F634CkJe6G9Im5EOPXtVw%3D

编辑2:我仔细检查了自定义母版页机制,发现它Server.Transfer(...)在跳转到正确的页面之前大量使用了方法.这是缺少ViewState的可能原因吗?(那么EventTarget总是持久存在会很奇怪)更重要的是,1.1和4.0之间是否会有任何变化?

bUK*_*eer 1

这可能会也可能不会解决问题,但是如果您查看堆栈上的这篇文章为什么生产服务器上的表单操作属性为空?它讨论了 ASP.NET 3.5 sp1 中引入的一项重大更改,该更改以表单的操作属性为中心 - 这可能是一个起点!

我过去必须做类似的事情,这可能是一个艰苦的过程,特别是当您具有“自定义母版页”功能时(我也必须做同样的事情)。我会选择一个非常基本的页面 - 我们有一个 BasePage,它由 CustomPage 继承,而 CustomPage 又可以由 AdminBasePage 继承,然后是管理页面等。如果您选择一个相对简单的页面并尽早设置断点页面构建的过程尽可能,然后一直按 F10 直到渲染,它可能会显示事物被调用两次的地方(在我们的例子中这种情况发生了很多,并且是导致值被覆盖等问题的原因)。

为了回应您的 server.transfer 问题“编辑 2”,我找到了此资源http://www.codeproject.com/Tips/74472/ViewState-and-Server-Transfer-Best-practices,它解释了如何确保(希望) viewstate 和 server.transfer 继续协调工作。我每天都会不断地回到这个问题 - 请提供更多关于你的进展情况的更新。我对你表示最深切的同情!