使用Visual Studio 2012将.Net 4.0 w / Visual Studio 2010的ASP .Net项目升级到.Net 4.5后,某些页面上的JavaScript代码停止工作。这是因为某些元素(例如,表单元素)上的“name”属性不再呈现给浏览器。
即使以下部分仍在web.config文件中,“name”属性也会被禁止:
<xhtmlConformance mode="Transitional"/>
什么可能导致此行为发生变化?
答案 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 方法中)