我正在开发一个新的ASP.NET MVC 4应用程序。我真的想以“MVC”方式做事。特别是,我对使用Razor视图引擎感兴趣。请注意,我来自网络表单背景,所以我的问题可能看起来很尴尬。
我正在尝试了解MVC中是否存在与用户控件等效的内容?如果是这样,他们叫什么?如果没有,在MVC中创建可重用组件的推荐方法是什么?
答案 0 :(得分:29)
您正在寻找@Html.Action
和@Html.Partial
。
它们允许您在视图中呈现partial view或完整版controller action。这是MVC领域中重用的常见模式。
如果控制器操作太重,偶尔你会想要displayFor or editorFor templates。经验法则是,如果您需要在页面上多次执行此操作,并且需要将其发布回表单中,请考虑在模板中执行此操作。
asp.net中的控件覆盖了一个相当大的区域,MVC对其进行了更大的细化。
答案 1 :(得分:12)
要在MVC中创建可重用的HTML组件,您可以在Views/Shared
文件夹中创建部分视图,并使用@HTML.Partial("_PartialViewName")
将其包含在任何其他视图或部分视图中。您可以在此article中找到有关部分观看次序的更多信息。
答案 2 :(得分:0)
你可以试试:
_ViewStart.cshtml
@{ Layout = null; }
@Html.Partial("_ViewStart")