加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:21:58 所属栏目:asp.Net 来源:网络整理
导读:我最近开始将ASP.NET项目从.NET版本1.1迁移到4.0.该系统目前运行在客户现场并进行工作. 当我通过VS向导迁移解决方案时,我没有任何错误. 错误是没有服务器控制事件工作,并且viewstate始终为空. 我已经尝试明确地将ViewStateMode设置为Enabled,AutoEventWireup
我最近开始将ASP.NET项目从.NET版本1.1迁移到4.0.该系统目前运行在客户现场并进行工作.
当我通过VS向导迁移解决方案时,我没有任何错误.
错误是没有服务器控制事件工作,并且viewstate始终为空.

我已经尝试明确地将ViewStateMode设置为Enabled,AutoEventWireup设置为true.不幸的是没有任何效果.该项目不是作为Web应用程序编写的(转换不能解决问题).

我也检查是否所有的服务器控件hav ID设置(他们做).

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

有什么特别的设置,我应该检查(即默认值从.NET 1.1更改),或者你能给我一些提示,为什么会发生这种情况?

编辑1:这些是当点击一个LinkBut??ton时发布的值:

CRC = -2134936892&安培; _EVENTTARGET = M页面$$BC&TestButton放大器; _EVENTARGUMENT =安培; _VIEWSTATE =安培; _EVENTVALIDATION = / wEWAwL + raDpAgLB49K8AwKy8rFAt4Axk3NlUEWxrtY / RtaexH / 634CkJe6G9Im5EOPXtVw =

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

解决方法

你有检查这个链接吗? http://www.asp.net/whitepapers/aspnet4/breaking-changes

在页面中更深入地说,当FORM的动作为空时,会发生以下情况:

>将.aspx页面发送到表单元素的action属性设置为“”的浏览器.
>表单发回ASP.NET.
>托管HTTP模块读取实体主体的某些部分.例如,一个模块读取Request.Form或Request.Params.这会导致POST请求的实体正文被读入托管内存.因此,实体主体不再可用于在IIS 7或IIS 7.5集成模式下运行的任何本机代码模块.
> IIS DefaultDocumentModule对象最终运行并创建对Default.aspx文档的子请求.然而,由于实体主体已经被托管代码读取,所以没有可用于发送给子请求的实体主体.
>当HTTP流水线为子请求运行时,.aspx文件的处理程序在处理程序执行阶段运行.
>因为没有实体体,没有表单变量,没有视图状态,因此没有可用的.aspx页面处理程序的信息来确定应该引发什么事件(如果有的话).因此,没有运行受影响的.aspx页面的回发事件处理程序.
您可以通过以下方式解决此问题:

编辑:我们在两年前迁移到3.5时,遇到类似的问题,我们所做的是将VS2005与Web App项目类型作为桥梁,因此我们的迁移路径是:

> 1.1?2.0
> 2.0?3.5

这是我们最后的手段,那就是在找出这个文件之前.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读