常见内容部分视图

时间:2011-09-07 16:48:43

标签: c# model-view-controller partial-views

我有一个标签云,我几乎包含在我网站上的所有视图中。我意识到我可以将它放在母版页上。更大的问题是,如何从数据库传递数据?我想避免在每个控制器和操作中获取数据。有一个简单的方法吗?

1 个答案:

答案 0 :(得分:4)

使用@{ Html.RenderAction("TagCloud", "SomeController"); }

 public class SomeController : Controller {
    public ActionResult TagCloud() {
        var model = // fetch data for tagcloud
        return View("~/Views/Shared/Tagcloud.ascx", model);
    }
 }

加载一个拥有自己的视图模型的视图是很常见的。因为它在许多不同的页面和场景之间共享,在它自己的行动中。