【问题标题】:Form tag not rendering Name element表单标签不呈现名称元素
【发布时间】:2015-05-05 16:21:43
【问题描述】:

我将表单标签渲染为

<form method="post" action="AdminEditListTest.aspx" id="Form1" name="Form1">

这是使用的遗留代码

document.Form1.XXX 操作 DOM

有 100 多个页面可以做到这一点。

当我们升级应用程序时,它停止呈现 name 属性

<form method="post" action="AdminEditListTest.aspx" id="Form1" >

我了解设置(在 web.config 中)

 xhtmlConformance = "Legacy"

和设置(在页面本身)

<!DOCTYPE html PUBLIC "-//W3C//ELEMENTS XHTML Legacy Markup 1.0//EN" 
 "http://www.w3.org/MarkUp/DTD/xhtml-legacy-1.mod" >

应该强制 IIS 呈现名称属性,但这不起作用。我可以使用任何其他技巧/策略在表单元素上呈现name 属性吗?

【问题讨论】:

  • 我不认为 IIS 负责呈现(或不呈现)标签(也不是其他任何东西)。

标签: javascript html .net


【解决方案1】:

所以解决办法(除了在web.config中设置xhtmlConformance = "Legacy"

还要在 web.config 中 &lt;pages controlRenderingCompatibilityVersion="3.5" /&gt;

ASP.NET 控件已在 .NET Framework 版本 4 中进行了修改,以便您更准确地指定它们呈现标记的方式。在早期版本的 .NET Framework 中,某些控件发出了您无法禁用的标记。默认情况下,ASP.NET 4 不再生成此类标记。 如果您使用 Visual Studio 2010 从 ASP.NET 2.0 或 ASP.NET 3.5 升级您的应用程序,该工具会自动将设置添加到 Web.config 文件以保留旧版呈现。但是,如果您通过将 IIS 中的应用程序池更改为面向 .NET Framework 4 来升级应用程序,则 ASP.NET 默认使用新的呈现模式。要禁用新的渲染模式,请在 Web.config 文件中添加以下设置:

&lt;pages controlRenderingCompatibilityVersion="3.5" /&gt;

Source

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 2018-12-30
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-28
    • 2013-02-02
    相关资源
    最近更新 更多