2011-09-24 54 views
1

我想我的主网页上动态创建我的菜单视图模型数据,主网页的最佳方式,我已经看到了两种不同的方法:什么是绑定在asp.net-MVC

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

  2. 第二种方法是为这个创建一个单独的控制器,并在您的母版页使用此注射特定的观片进入主网页,不污染您的常规页面视图生成:

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

这个比那个好吗?这里有最佳做法吗?

回答

3

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

只是不要认为,如果Html.Action是有利的一个情况下,它将是所有人的好。可能存在一些项目特定的约束条件,这些约束条件会导致不适当的或者可能通过其他方法实现此目标

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