我有一个标签云,我几乎包含在我网站上的所有视图中。我意识到我可以将它放在母版页上。更大的问题是,如何从数据库传递数据?我想避免在每个控制器和操作中获取数据。有一个简单的方法吗?
答案 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);
}
}
加载一个拥有自己的视图模型的视图是很常见的。因为它在许多不同的页面和场景之间共享,在它自己的行动中。