【问题标题】:How to organize partial view in ASP.NET MVC3?如何在 ASP.NET MVC3 中组织局部视图?
【发布时间】:2011-08-13 17:47:52
【问题描述】:

我想弄清楚如何在我的项目中组织我的部分视图。有人说要在部分视图的名称前加上_,但如果可以直接调用视图,这会导致控制器中的操作名称很奇怪。

另外,如果视图在某些情况下可以是局部视图,而在其他情况下可以是常规视图,该怎么办?

一个常见的例子是我在某些页面上嵌入了一个搜索视图,用于在我的应用中搜索用户,但我也有一个加载相同视图的搜索页面。我想我可以为仅嵌入部分视图的搜索页面创建第二个视图。只是想知道其他人在做什么。

【问题讨论】:

    标签: asp.net asp.net-mvc-3 razor partial-views


    【解决方案1】:

    老实说,这是一个偏好问题。在避免代码(或视图)重复等方面,您应该在您的应用程序中做任何工作。

    我们(我是开发 MVC 团队的开发人员)建议在部分视图文件名前加上下划线的原因是为了在 VS 中查看文件时更容易区分完整视图和部分视图

    【讨论】:

    • 您如何处理通过操作加载的部分视图?您是否使用下划线命名动作?
    • 否,因为这是通过默认路由配置中的 URL 表示的。但是您应该记住,您始终可以将特定视图名称传递给View()PartialView() 方法。游览操作名称和视图名称不必完全匹配。
    • 除了传入视图的名称之外,您还可以扩展视图引擎来为您执行此操作:stackoverflow.com/a/10692237/32238(为部分添加“_”约定,但无需将字符串传递给 View/PartialView 方法)。
    【解决方案2】:

    我还使用带有下划线字符的局部视图作为前缀,以便在管理文件时轻松区分视图和局部视图。随着您的项目变得越来越大,您可能有很多文件用于单个控制器,所以这个约定会对您有很大帮助。 此外,当您使用局部视图时,您可以使用以下操作调用您的视图:

    public ActionResult MyPartialAsAView()
    {
        // your code
        return View("_myPartialView");
    }
    

    您必须记住,如果您将局部视图用作视图,则应根据局部的工作模式(作为视图或局部视图)为其分配布局,例如在您的模型类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-10
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 2023-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多