【问题标题】:ASP.NET web forms creating non-standard HTML tags创建非标准 HTML 标记的 ASP.NET Web 表单
【发布时间】:2011-09-09 21:17:31
【问题描述】:

我正在阅读这篇关于 ASP.NET Web forms vs MVC frameworks 的文章,它指出

开发人员无法控制 Web 表单的呈现 HTML,以及呈现具有混合内联样式和 不符合标准的已弃用标签的 html 的服务器控件

我不确定我是否遵循这里所说的内容。如果您同意上述内容,请您具体说明一些示例,说明 Web 表单生成了哪些非标准 HTML 标记。另外,如果它们是非标准的 HTML,它如何在不同的浏览器中工作?

【问题讨论】:

  • 上次我检查时,您可以在.aspx文件上做标记并覆盖Web窗体中大多数控件的Render方法。

标签: asp.net asp.net-mvc webforms


【解决方案1】:

正如您要求的示例:

html <img>-tag 的 border 属性是 now deprecated. 它仍然适用于大多数浏览器,但您应该改用 CSS 解决此问题。

4.0 之前的 ASP.NET 版本仍以 border="0" 输出呈现 <asp:image>-Control。

.NET Framework 4 Migration Issues:

在以前的 ASP.NET 版本中,某些控件发出了您无法禁用的标记。默认情况下,ASP.NET 4 中不再生成此类标记。呈现更改会影响以下控件:

  • Image 和 ImageButton 控件不再呈现border="0" 属性。
  • 默认情况下,BaseValidator 类和派生自它的验证控件不再呈现红色文本。
  • HtmlForm 控件不呈现名称属性。
  • Table 控件不再呈现border="0" 属性。

如果控件的 Enabled 属性设置为 false(或者如果它们从容器控件继承此设置),则不是为用户输入而设计的控件(例如 Label 控件)将不再呈现 disabled="disabled" 属性。

【讨论】:

    【解决方案2】:

    不推荐使用的标签是曾经是标准的标签,但在使用较新的标准时不再有效。

    因此,在标准 X 为最新时创建的 Web 控件不一定会发出符合新标准 Y 的 HTML。

    【讨论】:

      猜你喜欢
      • 2010-10-11
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 2017-03-02
      • 2011-12-08
      • 1970-01-01
      • 2016-08-18
      相关资源
      最近更新 更多