表单标记不呈现Name元素

时间:2015-05-05 16:21:44

标签: javascript html .net

我将表单标记呈现为

<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"

AND SETTING(在页面中)

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

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

1 个答案:

答案 0 :(得分:3)

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

也是web.config中的<pages controlRenderingCompatibilityVersion="3.5" />

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文件中添加以下设置:

<pages controlRenderingCompatibilityVersion="3.5" />

Source