【问题标题】:Is it possible to implement new standards such as HTML5 in ASP.NET Webforms?是否可以在 ASP.NET Webforms 中实现 HTML5 等新标准?
【发布时间】:2011-03-18 22:55:41
【问题描述】:

是否有可能(例如使用 HTML5 Shiv)在基于 Webforms 的平台上实现 HTML5? ASP.NET Webforms 是否允许开发人员使用新的 HTML5 元素在语义上标记页面?

【问题讨论】:

  • 我也处于这种情况,我们有 ASP.NET 网络表单,并希望将整个系统推向一个新的技术水平。我们已经开始使用 HTML5,引入了 angularjs 并停止使用服务器端标签 (<... asp.net mvc html5 web href="http://stackoverflow.com/questions/9320844/html5-validation-and-asp-net-webforms/" title="html5 validation and asp net webforms" target="_blank" rel="nofollow">

标签: asp.net html standards semantics


【解决方案1】:

我会说 ASP.net MVC 更适合这种类型的开发,但我看不出有什么压倒性的原因为什么不能使用 HTML5 生成 Web 表单页面,因为它在很大程度上不是 HTML4 的扩展。

可能比 RAD 拖放网络表单(不幸地)鼓励的要多得多的手工编码页面。

【讨论】:

  • 是否可以使用 ASP.NET 控制器来实现新的表单功能(例如)?
  • 是的,我每天都在网络表单中使用占位符,任何“无”识别的属性都只是添加到页面中。通过代码隐藏添加这些可能会更困难,但我知道它是可能的。 IE。 ()
【解决方案2】:

您可以创建自己的自定义控件,这些控件将呈现为您想要的任何 html 元素..

您可以将所需的任何 HTML 输出到页面,您只需要控制该输出即可。因此,尽管标准的 Asp.Net 控件集将输出到普通的 HTML 元素,如

&lt;label /&gt; and &lt;input /&gt; etc.。你可以很容易地自己实现。

此外,没有什么可以阻止您向 Asp.Net 控件的呈现 HTML 添加自定义类或 html5 css 属性,请记住,实际浏览器的使用还不能很好地支持 HTML5..

【讨论】:

  • 您还可以将 runat='server' 放到任何 HTML 元素上并控制它的许多属性,并在运行时在代码中添加自定义属性,简单的示例是 visible='false' 或 myControl。在代码中可见 = false。
  • 您是说您必须手动重写框架的某些部分以允许它输出具有“占位符”属性的表单输入字段,例如?顺便说一句,我在这里严格谈论 HTML5,而不是 CSS3(所以类名无关紧要)
  • 不,你有一个 id 为“myTextbox”的文本框,你在代码中所做的就是:myTextbox.Attributes.Add("placeholder", "My PlaceHolder Text")。 Asp.Net 不在乎。如果您正在做一些非常自定义的事情,您想将其重新用作控件,您可能需要查看控件模板/自定义控件。
【解决方案3】:

我说是的,你可以,但如果你想做出复杂的改变,这并不容易。您可以完全控制在 aspx 和 ascx 文件中放置的标记以及在您自己的自定义控件中生成的标记。在代码背后的代码中,您可以使用 Attributes 控件集合来添加 HTML5 特定属性。对于内置 Web 控件,您可以创建自己的 ControlAdapters,它将覆盖内置 Web 控件的呈现。

查看article 了解控制适配器的说明。

【讨论】:

    猜你喜欢
    • 2020-01-07
    • 2011-10-30
    • 2011-03-15
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多