7

我正在与我的 ASP.NET 开发团队合作,尝试在呈现页面时创建“更好” (即更干净)的 HTML。目前,.NET 倾向于将 JavaScript 转储到页面中,使其成为表单控件的强制性要求,并且在 JS 不可用时不允许表单工作。在某些情况下,我们正在努力克服这个问题,而不必在开发时间估计中增加一个显着的块。

我以前使用过 MVC——通过 Java 中的 Struts——发现在这种情况下,我能够完全按照我想要的方式保留 HTML 页面。(这个观点基于我通常事先开发的“最佳情况”静态 HTML,然后交给 Java 程序员来填补漏洞。)

效果非常好,我们能够从我所见过的 CMS 中生成一些“最好的”网页。.NET MVC 能否为我提供所需的分离,或者将宝贵的开发时间用于测试它会是一种虚假的经济吗?

如果 .NET MVC 不能为我提供这种对分离的细粒度控制,那么任何关于 .NET 编码实践、库等的建议都可能非常有用。

4

4 回答 4

5

ASP.NET MVC 框架会给你一个更熟悉的分离。因为在 MVC 框架中没有视图状态等,所以您不必担心 JavaScript 会被转储到您的页面中。您看到的唯一 JavaScript 调用将是您手动添加的调用。

在大多数情况下,您可以像在不同的框架中那样分离 HTML / CSS / JS。

于 2008-09-11T13:07:47.003 回答
3

取决于您要使用的视图引擎。是的。

但是您可以通过查看堆栈溢出的页面源来轻松检查这一点。它不是禅宗花园,但很干净。

更多说明:

页面的呈现由视图引擎完成。您可以使用标准视图引擎或现有的,如 nVelocity 或 Brail,就像使用单轨一样。 http://www.chadmyers.com/Blog/archive/2007/11/28/testing-scottgu-alternate-view-engines-with-asp.net-mvc-nvelocity.aspx

由于视图引擎负责创建 HTML,结果取决于您的选择。但是大多数视图引擎在这方面都比普通的 ASP.Net 更好

于 2008-09-11T13:05:30.610 回答
1

@Wrestlevania 说:

.NET 编码实践、库等的任何建议,这可能真的很有帮助。

在 ASP.Net 中编码时,我尝试保持高水平的分离。我发现如果我避免使用 asp 控件并尽可能多地使用基本的 html 元素,我可以避免 ASP.Net 倾向于在我的页面中注入额外的 CSS 或 JS 的任何情况。例如,使用 span 代替 asp:literal,使用 button 代替 asp:button 等。

我使用的唯一 ASP 控件是转发器,它用于创建表。我需要的任何类似于 asp 控件的功能,我要么在 javascript 中实现自己,要么使用 jquery 之类的框架。

于 2008-09-11T13:54:06.500 回答
0

Asp.Net MVC 将帮助您保持 html/css/js 分离,因为它将提供更少的功能,这些功能会阻止您将它们分开。

例如,Html 助手通常只返回:Html。从那时起,您可以自由选择只保留与类属性相关的所有样式信息。

还可以考虑研究一下您通常使用 jQuery 之类的库所遵循的做法。这是一个很好的例子,说明如何通过基于元素类型、类和 id 之类的元素在页面加载时将事件处理行为应用于元素,从而将脚本化功能完全保留在 js 中而不受 html 影响。

于 2008-09-12T07:02:07.857 回答