我知道微软已经在语义和跨浏览器兼容的 XHTML 和 CSS 的方向上做出了努力,但它似乎仍然像一个 PitA 来实现优雅的标记。我已经下载并调整了 CSS Friendly Adapters 和所有这些。但是我仍然发现自己对臃肿且没有吸引力的代码感到沮丧。
使用 ASP.Net 的优雅语义 CSS 仍然是白日梦吗?还是最终可能,我只需要更多的练习?
生成优雅的 HTML 和 CSS 的最简单方法是使用 MVC 框架,与使用 Web 表单相比,您可以更好地控制 HTML 生成。
有关更多讨论,请参阅此问题,包括 MVC 的使用。该站点使用 ASP.NET,标记非常干净。查看 MicrosoftPDC.com(我正在开发的网站)上的 HTML/CSS - 它使用 ASP.NET 网络表单,但我们优先考虑使用干净的标记进行设计。
只要您使用 Visual Studio 设计器,这可能是一个白日梦。我手工编写所有 ASP.NET 代码(所有标记和 CSS),只是为了避开设计人员。更高版本的 Visual Studio 在不破坏 .aspx/.ascx 文件方面做得更好,但它们仍然远非完美。
一个更好的问题是:它真的值得吗?我编写 Web 应用程序,而生成的 HTML/CSS/JavaScript 的优雅很少会为最终目标添加任何内容。如果您的最终目标是让人们对您的东西进行“查看源代码”并欣赏它,那么也许这很重要并且值得所有努力,但我对此表示怀疑。
如果您需要语义,请为您的数据使用 XML。我确实相信语义网的想法,但我的应用程序不需要与它有任何关系。
正如 DannySmurf 所说,手工制作是必经之路。
也就是说,您可能会查看 Expression Web。至少它在呈现页面的方式上非常准确。
@JasonBunting - 是的,这绝对值得。语义和跨浏览器标记意味着搜索引擎对您的内容有更轻松(因此排名更高)的时间,浏览器可以更轻松(因此更不容易出错)解析您的内容以进行显示,并且未来的开发人员有更容易维护您的代码。
是的 - 这是一个白日梦。自从与一个讨厌 ASP.net 服务器端控件输出的专业网页设计师合作后,我停止使用它们。我基本上必须像编写现代 PHP 应用程序一样编写 ASP.net 应用程序。如果您有一个繁重的业务层,那么您的页面或 UI 代码可以是最少的。
从那以后我再也没有回头。编写所有自定义内容所花费的额外时间为我节省了大量时间来尝试使 Visual Studio / ASP.net 与 CSS/XHTML 配合得很好。
我不敢相信没有人提到 CSS 适配器。asp.net 中使用的许多常用控件(例如 gridview 和 treeview)可以通过适配器进行处理,以更改输出到浏览器的结果 html。
如果走 mvc 路线不是一个可行的选择,则可以为任何内置的 asp.net 控件编写自己的适配器。