升级到.Net 4.5 + VS 2012时,<xhtmlconformance mode =“Transitional”>似乎中断</xhtmlconformance>

时间:2013-06-10 20:34:21

标签: visual-studio-2012 asp.net-4.5

使用Visual Studio 2012将.Net 4.0 w / Visual Studio 2010的ASP .Net项目升级到.Net 4.5后,某些页面上的JavaScript代码停止工作。这是因为某些元素(例如,表单元素)上的“name”属性不再呈现给浏览器。

即使以下部分仍在web.config文件中,“name”属性也会被禁止:

<xhtmlConformance mode="Transitional"/>

什么可能导致此行为发生变化?

1 个答案:

答案 0 :(得分:4)

此问题是由升级过程对web.config文件的另一部分所做的更改引起的。

事实证明,呈现name属性的决定也由web.config文件的pages元素中的 controlRenderingCompatibilityVersion 属性控制。

在升级解决方案/项目的过程中,值为

controlRenderingCompatibilityVersion="3.5"

更新为

controlRenderingCompatibilityVersion="4.0"

检查 xhtmlConformance 的.Net Framework代码检查 controlRenderingCompatibilityVersion 。 4.0或更高版本胜过&#34;模式&#34; xhtmlConformance 的属性设置。 (例如在 System.Web.UI.HtmlControls.HtmlForm 类&#39; RenderAttributes 方法中)