0

我有一个 MVC5 应用程序,它使用布局页面来控制页眉和页脚等。布局页面有一些由数据库驱动的部分,例如导航栏。我不确定在哪里拨打这些电话的最佳做法是。我可以想到两种方法,但都不是完美的

方法一:通过页面视图模型传入数据。不喜欢这种方法,我的主页控制器应该只关心主页内容,而不是布局。对于每个视图都必须重复此操作。

方法 2:Ajax 到 WebAPI 控制器。有点倾向于这个,虽然我认为这意味着失去像 @URL 和 @HTML 这样用于创建链接和呈现自定义内容的东西。

编辑:虽然另一种方法方法3:在开始时将信息加载到缓存中。由于这不是在初始设置后经常更改的信息,并且此代码显示在每个页面上,因此无论如何都需要缓存。

4

1 回答 1

4

您应该从视图中调用控制器方法。在你看来:

@Html.Action("MyAction", "MyController")

确保此操作无需传入值即可找到所需的所有内容,并且您已设置好。我们通过服务定位和/或依赖注入在几个项目中做到这一点。

于 2014-12-04T20:07:33.450 回答