我很好奇是否有可能拥有一个提供完整的 HTML 抽象(也许还有 CSS 样式)的 .NET 类库。
每种 HTML 元素都会有一个 .NET 类,甚至是抽象类(例如,抽象基类 'List',它扩展了 'OrderedList' 和 'UnorderedList')。
然后可以通过在每个元素实例上递归调用“Render”或类似的东西,将元素添加到树结构并呈现为完整的 HTML 页面,包括样式。
我可以想象这样一个库可能有用的许多方面:
构建跨浏览器渲染问题的框架意识,甚至是多设备/屏幕尺寸支持。然后有可能构建一个网页,并立即使其与所有主要浏览器一起工作。
使用反射构建具有极好的 IntelliSense 等的 HTML 编辑器。编辑器还可以具有 WYSIWIG 模式,允许动态重新排列元素,而不会生成格式错误的标记。
对网站的 SEO、合规性、可访问性等进行一些非常强大的审计。
执行非常精细的智能缓存,直至元素级别。
是否已经考虑或尝试过类似的事情?
(注意:我意识到 ASP.NET 在其“HtmlControls”命名空间下有类似的东西,但它并不代表所有 HTML 元素,而且它包含的元素的建模不够准确。另外, ASP.NET webforms 上的 HTML 元素被视为文本文件并在运行时解析,而不是被编译为强类型类。)
(另一个说明:我认为Google Web Toolkit与这个想法有一些相似之处,尽管它是用 Java 编写的,并且更多地针对 Ajax/Javascript/DOM,而不是基于标准的 XHTML、CSS 和 Javascript)