【问题标题】:what is the best way to bind ViewModel data to master page in asp.net-mvc将 ViewModel 数据绑定到 asp.net-mvc 中的母版页的最佳方法是什么
【发布时间】:2011-09-24 21:48:53
【问题描述】:

我想在我的母版页上动态创建我的菜单,我已经看到了 2 种不同的方法:

  1. 第一种方法是使用一个基本控制器,在其构造函数中加载所有共享视图模型数据。 This is described here

  2. 第二种方法是为此创建一个单独的控制器,并在您的母版页中使用它来将特定的视图片段注入母版页,而不会污染您的常规页面视图生成:

    @Html.Action("Index", "Settings")
    

一个比另一个更好吗?这里有什么最佳做法吗?

【问题讨论】:

    标签: asp.net-mvc master-pages viewmodel


    【解决方案1】:

    我个人更喜欢第二种方法,因为它允许独立于主逻辑处理菜单。通过使用子操作,您可以拥有一个完全独立的菜单控制器生命周期,而无需为使用此母版页的所有视图创建基本视图模型。继承似乎不适合这种情况,但当然这并不意味着您应该完全排除它。每个场景都是特定的,根据具体的细节(你没有提供给你的),可能会有不同的方法。

    只是不要认为如果Html.Action 适用于一种情况,它就会适用于所有情况。可能有一些项目特定的限制不合适,或者可能通过其他方法实现。

    没有适用于所有情况的通用解决方案。否则就不需要程序员了:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      相关资源
      最近更新 更多