【问题标题】:<xhtmlConformance mode="Transitional"/> appears to break when upgrading to .Net 4.5 + VS 2012<xhtmlConformance mode="Transitional"/> 升级到 .Net 4.5 + VS 2012 时出现中断
【发布时间】:2013-06-10 20:34:21
【问题描述】:

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

即使以下部分仍然在 web.config 文件中,“名称”属性被禁止:

<xhtmlConformance mode="Transitional"/>

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    controlRenderingCompatibilityVersion="3.5"
    

    更新为

    controlRenderingCompatibilityVersion="4.0"
    

    检查xhtmlConformance的.Net Framework代码检查controlRenderingCompatibilityVersion。 4.0 或更高版本优于 xhtmlConformance 的“模式”属性设置。 (例如在 System.Web.UI.HtmlControls.HtmlForm 类的 RenderAttributes 方法中)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    相关资源
    最近更新 更多