可以采取哪些步骤来使用 ASP.NET Webforms 生成语义、可访问、符合标准的客户端输出?

发布于 2024-09-11 06:11:31 字数 197 浏览 13 评论 0原文

据我所知,可能无法在 ASP.NET Webforms 中将客户端与服务器端代码解耦。可以采取哪些步骤来在此框架上创建一个符合网络标准的网站?

我特别关心如何在禁用 JavaScript 的情况下使网站可访问,并符合 WCAG2 的 AA 级一致性。

是否可以实现内容 (HTML)、表示 (CSS) 和行为 (JavaScript) 之间的分离?

I understand that it may not be possible to decouple the client-side from the server-side code in ASP.NET Webforms. What steps can be taken to produce a website on this framework that complies to web standards?

I am particularly concerned with making the site accessible with JavaScript disabled, and compliant to WCAG2 at conformance level AA.

Is it possible to achieve a separation between content (HTML), presentation (CSS), and behaviour (JavaScript)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

笨笨の傻瓜 2024-09-18 06:11:31

这是可能的,但在 ASP.Net WebForms 中并不那么容易:

  1. 新的 ASP.Net 版本比旧版本更符合标准。因此,请尽可能使用最新的 ASP.Net 版本。 ASP.Net 4 有一些不错的功能可以使 HTML 标记更清晰(请参阅 博客文章了解详细信息)
  2. 如果您仍然没有如果对某些标准控件生成的代码感到满意,请寻找其第三方等效项。您很有可能会发现开源或商业控件,生成比默认代码更干净的代码。
  3. 如果您仍然对某些第三方控件不满意,请编写自定义控件并用干净的符合标准的代码填充它们。

It's possible, but it's not that easy in ASP.Net WebForms:

  1. Newer ASP.Net versions are more standard-compliant than old ones. So, use the newest ASP.Net version possible. ASP.Net 4 has some nice features to make HTML markup cleaner (see blog post for details)
  2. If you're still not happy with the code, generated by some of the standard controls, look for their third-party equivalents. There are good chances that you'll find open-source or commercial controls, generating much cleaner code than default ones.
  3. If you're still not happy with some of the third-party controls, write your custom controls and fill them with nice clean standard-compliant code.
想你的星星会说话 2024-09-18 06:11:31

您可以继承并重写 Render 方法,但对于更复杂的控件,您可能不想在存在更好的替代方法时投入时间。

You can inherit and override the Render method, but for more complex controls you're probably not going to want to put in the time when better alternatives exist.

烟雨凡馨 2024-09-18 06:11:31

如果 MVC 或 .NET4 不是选项,请查看 CSS 友好的控制适配器。

http://cssfriend.codeplex.com/

If MVC or .NET4 aren't options, take a look at the CSS-Friendly Control Adapters.

http://cssfriendly.codeplex.com/

镜花水月 2024-09-18 06:11:31

如果您不太热衷于 ASP.NET,您也可以尝试一下 ASP.NET MVC。 MVC 与 ASP.NET 有许多相似之处。但最好的部分是您可以完全控制呈现给浏览器的 HTML 输出。

如果您没有选择 MVC 的选项,并且您对 ASP.NET 服务器控件的默认输出不满意,则可以忽略 ASP.NET 服务器控件的 Render 方法。请参阅渲染 ASP.NET 服务器控件

如果子控件是像 DataGrid 这样的复合控件,您还可以覆盖子控件的输出。

希望这有帮助。

If you are not really hell bent on ASP.NET, you could also give a try on ASP.NET MVC. MVC has many similarities to ASP.NET. But the best part is you have full control over the HTML output that is rendered to the browser.

If you don't have an option of choosing MVC, and you are not happy with the default output of the ASP.NET server control, you can ovveride the Render method of the ASP.NET server control. Please refer to Rendering an ASP.NET Server Control.

You can also override the output of the child controls if its a composite control like DataGrid.

Hope this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文