【问题标题】:MVC 4 - Should I use a partial view in a home controller?MVC 4 - 我应该在家庭控制器中使用局部视图吗?
【发布时间】:2013-03-20 07:56:37
【问题描述】:

我正在学习 MVC4,试图了解控制器分离的最佳实践。到目前为止,我已经了解到为站点的每个逻辑单元设置一个控制器是件好事。

例如,如果我有一个包含评论、餐厅和评论者的餐厅评论网站,我将添加三个匹配的控制器。每个控制器都知道如何创建实体的列表视图(可能还有更多功能)。

家庭控制器目前知道如何创建视图:“关于”、“联系我们”...
我希望它的主要索引操作显示前 10 名评论者/评论/餐厅。这些“前 10 名”列表的外观与专用控制器中的相应列表不同。

所以对于评论,在文件夹中创建部分视图是否是一个好习惯
浏览量 => 评论 => _ReviewsTopTen.cshtml ?

(此视图仅用于主控制器的Index操作中)

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-4 controller partial-views


    【解决方案1】:

    首先,我会查看您的标记并决定首先需要拆分为部分视图是否足够。如果不是,那么保留在视图本身中是完全可以的。为了它而抽象事物毫无意义。

    如果您确实需要局部视图并且它只能在 Home 控制器中使用,那么正确的位置是 Views > Review > _ReviewsTopTen.cshtml。

    但是,如果部分中的标记与您网站的另一部分相同,并且只是 css 样式不同,那么您应该在 Views > Shared 中创建一个部分视图,以便它可以在多个控制器中使用意见。

    【讨论】:

      【解决方案2】:

      我认为控制器逻辑分离的最佳实践是在您的主视图中为您需要显示的每个逻辑单元使用@Html.Action() 方法。因此,例如,如果您需要在主控制器视图中显示 10 条评论,则类似于@Html.Action("TopTenReviews", "Reviews(<-controller name)")

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        相关资源
        最近更新 更多