当前位置:  开发笔记 > 编程语言 > 正文

如何防止ASP.NET 3.5 SP1覆盖我的操作?

如何解决《如何防止ASP.NET3.5SP1覆盖我的操作?》经验,为你挑选了1个好方法。

在我的主页中

,在SP1之前,如果我查看了源,则action属性将是一个空字符串.在SP1中,动作属性被覆盖"MyPage.aspx?MyParams",不幸的是,这导致我的回发失败,因为我在URL中有额外的pathinfo(即MyPage.aspx\CustomerData?MyParams).我已经检查了OnLoad事件中的action属性,此时它仍然是空白的,所以SP1的某个地方覆盖了这个:(.

对不起,我刚刚意识到我的部分内容丢失了,因为我没有正确使用降价.



1> splattne..:

也许你可以在这篇ASP.NET论坛帖子中找到解决方案(.NET 3.5 Service Pack 1中的ASP.NET的已知问题/重大更改).

问题

现在,在声明性标记中定义HtmlForm操作属性.

原因

3.5 SP1为HtmlForm类型添加了一个可设置的Action属性.这个新功能使开发人员可以更轻松地为开发人员想要使用与正常回发生成的Url不同的Url的方案显式设置表单的action属性.但是,此更改还意味着如果已在.aspx页面的声明性标记中设置了action属性,则ASP.NET将在呈现元素时使用标记中的设置.

解决方法

如果某个元素的声明性标记中存在,则以前版本的ASP.NET始终忽略该操作属性.开发人员应从其声明性标记中删除action属性,以返回ASP.NET呈现回发Url的原始行为.

之前(ASP.NET将动作属性视为死代码):


3.5 SP1(删除action属性以使ASP.NET呈现回发Url):

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有