使用 ASP.Net 的优雅语义 CSS 仍然是白日梦吗?

Posted

技术标签:

【中文标题】使用 ASP.Net 的优雅语义 CSS 仍然是白日梦吗?【英文标题】:Is elegant, semantic CSS with ASP.Net still a pipe dream? 【发布时间】:2010-09-07 04:30:45 【问题描述】:

我知道微软已经在语义和跨浏览器兼容的 Xhtml 和 CSS 方向上做出了努力,但它似乎仍然像一个 PitA 来实现优雅的标记。我已经下载并调整了 CSS Friendly Adapters 和所有这些。但我仍然对臃肿且没有吸引力的代码感到沮丧。

使用 ASP.Net 的优雅、语义化 CSS 仍然是白日梦吗?还是终于有可能了,我只是需要更多的练习?

【问题讨论】:

【参考方案1】:

生成优雅的 HTML 和 CSS 的最简单方法是使用 MVC 框架,与使用 Web 表单相比,您可以更好地控制 HTML 生成。

【讨论】:

如果 LOVIN' MVC 错了,我不想做对 这句话被过度使用了 so :L【参考方案2】:

请参阅this question 了解更多讨论,包括 MVC 的使用。该站点使用 ASP.NET,标记非常干净。查看 MicrosoftPDC.com(我正在开发的网站)上的 HTML/CSS - 它使用 ASP.NET 网络表单,但我们的设计优先考虑的是干净的标记。

【讨论】:

【参考方案3】:

只要您使用 Visual Studio 设计器,这可能就是白日梦。我手工编写所有 ASP.NET 代码(所有标记和 CSS),只是为了避开设计人员。更高版本的 Visual Studio 在不破坏 .aspx/.ascx 文件方面做得更好,但仍远非完美。

【讨论】:

【参考方案4】:

一个更好的问题是:它真的值得吗?我编写 Web 应用程序,而生成的 HTML/CSS/javascript 的优雅很少会为最终目标添加任何内容。如果你的最终目标是让人们对你的东西进行“查看源代码”并欣赏它,那么也许这很重要并且值得所有努力,但我对此表示怀疑。

如果您需要语义,请为您的数据使用 XML。我确实相信 the semantic web 的想法,但我的应用程序不需要与它有任何关系。

【讨论】:

【参考方案5】:

正如 DannySmurf 所说,手工制作是必经之路。

也就是说,您可以看看 Expression Web。至少它在呈现页面的方式上相当准确。

【讨论】:

【参考方案6】:

@JasonBunting - 是的,这绝对值得。语义和跨浏览器标记意味着搜索引擎对您的内容有更轻松(因此排名更高)的时间,浏览器可以更轻松(因此更不容易出错)解析您的内容以进行显示,并且未来的开发人员有更容易维护您的代码。

【讨论】:

【参考方案7】:

是的 - 这是一个白日梦。自从与一位讨厌 ASP.net 服务器端控件输出的专业网页设计师合作后,我停止使用它们。我基本上必须像编写现代 php 应用程序一样编写 ASP.net 应用程序。如果您有一个繁重的业务层,那么您的页面或 UI 代码可以是最少的。

从那以后我再也没有回头。编写所有自定义内容所花费的额外时间为我节省了大量时间,试图让 Visual Studio / ASP.net 与 CSS/XHTML 配合得很好。

【讨论】:

【参考方案8】:

我不敢相信没有人提到 CSS 适配器。 asp.net 中使用的许多常用控件(例如 gridview 和 treeview)可以通过适配器进行处理,以更改输出到浏览器的结果 html。

如果采用 mvc 路由不是一个可行的选择,则可以为任何内置的 asp.net 控件编写自己的适配器。

http://www.asp.net/CssAdapters/

【讨论】:

可能是因为我说我已经在我原来的问题中使用了它们。不过谢谢!

以上是关于使用 ASP.Net 的优雅语义 CSS 仍然是白日梦吗?的主要内容,如果未能解决你的问题,请参考以下文章

Asp.Net 5 语义版本控制

ASP.NET MVC 中用于 CSS / JS 文件的自动版本控制?

Bootstrap CSS 在 ASP.net 上不起作用

asp.net core 中优雅的进行响应包装

Application_End 和后台进程,优雅地退出 ASP.Net 应用程序

Asp.Net Core 3 优雅关闭抛出 OperationCanceledException