如何最好地管理母版页以外的页面上的重复节

时间:2015-05-08 14:05:45

标签: c# asp.net-mvc

在MVC中,您拥有布局的母版页,并且可以为网站的可重复使用部分创建部分视图。

部分视图的问题在于,在每个控制器操作中,模型必须具有传递给部分所需的所有属性/数据。这不是什么大不了的事,但如果你有很多偏见,有时它会变得很麻烦。

还有哪些其他选择?

1 个答案:

答案 0 :(得分:0)

没有要求控制器需要为顶级模型准备每个部分的所有(甚至任何)数据。来电者本身可以准备好模型:

<

您还可以从视图中调用任何其他控制器操作并传递您喜欢的任何数据:

 @Html.Partial("QuestionView", new Topic { Question="Why", Answer = "Because"});

ASP.Net MVC最多5个唯一真正的问题是你无法从视图中进行正确的 @Html.Action("Left", controllerName:"Arrows", routeValues: new {ArrowLength = 5}); class ArrowsController { [ChildAction] // add this if never called as top level action via url ActionResult Left(int arrowLength) { .... return View("Arrow", new ArrowModel(ArrowDir.Left, arrowLength * 7); } 调用 - 比如你的部分视图或子操作需要查询远程数据库或服务你基本上会必须从顶级控制器进行呼叫。 vNext中的查看组件将删除该限制。