Asp.net mvc 最小化ASP.NET MVC内联代码(标记soap)的最佳实践?

Asp.net mvc 最小化ASP.NET MVC内联代码(标记soap)的最佳实践?,asp.net-mvc,Asp.net Mvc,我是一名经验丰富的ASP.NET Web表单开发人员,正在努力学习MVC。由于内联代码过程,我仍然对MVC不太感兴趣。在某些情况下,我无法从所有代码中看到HTML,我必须呈现页面并查看源代码 我知道您可以更换视图引擎,我想知道两件事: 1-是否有视图引擎使用的内联代码少于默认视图引擎?(实际上,进行视图引擎比较的资源很有帮助) 2-是否有好的资源来解释为视图编写内联代码的最佳实践?我可能正在编写不必要的代码,或者做得太多 3-与以前的版本相比,ASP.NET MVCv2在视图功能方面提供了哪些功

我是一名经验丰富的ASP.NET Web表单开发人员,正在努力学习MVC。由于内联代码过程,我仍然对MVC不太感兴趣。在某些情况下,我无法从所有代码中看到HTML,我必须呈现页面并查看源代码

我知道您可以更换视图引擎,我想知道两件事:

1-是否有视图引擎使用的内联代码少于默认视图引擎?(实际上,进行视图引擎比较的资源很有帮助)

2-是否有好的资源来解释为视图编写内联代码的最佳实践?我可能正在编写不必要的代码,或者做得太多


3-与以前的版本相比,ASP.NET MVCv2在视图功能方面提供了哪些功能?

使用内置视图的最佳实践是使用HTML帮助程序扩展和局部视图

就我个人而言,我喜欢这样一个事实,即您被迫将UI代码封装到帮助器类和方法中,而不是表面上将其隐藏在代码隐藏文件中。

我已经使用了一段时间,从未回顾过。虽然它本身不会减少视图上使用的服务器端代码量(这是您必须自己做的),但它可以使其“融入”到周围的HTML中,使标记更易于阅读。下面是我正在从事的当前项目中的一个例子(类和属性名称已更改以保护罪犯):


虽然这并不总是减少执行服务器端操作(如渲染局部视图)所需的行数,但它降低了视图的视觉复杂性,并使非服务器端标记更易于维护。

什么是标记soap?也许你的意思是“标记汤”,在标记中有很多不同的标记,它可能类似于昨天的一些ASP意大利面代码?这是3个独立的问题。2,3已经在本网站上回答过了。@David-为什么要使用bit.ly作为URL?如果bit.ly这样做,它不仅会失效,而且它还面临着所有微小URL的相同问题——你不知道它们会去哪里。为什么不直接使用真正的URL呢@JB:是的,内联代码和html的混合使得html结构很难查看@jfar:你能为2发布一个url吗?我搜索了“内联mvc”,除了mvc与webforms的内容外,没有得到任何有用的结果。这种方法还有一个好处,即允许您的视图成为有效的XML,因为您不再需要使用
语法。
<div id="Messages" if="Model.Messages.Count > 0">
    <MessageDetails each="Message message in Model.Messages" />
</div>
<% if (Model.Messages.Count > 0) { %>
    <div id="Messages">
    <% foreach(Message message in Model.Messages) { %>
        <% Html.RenderPartial("Container", message); %>
    <% } %>
    </div>
<% } %>