1

当谈到 .NET MVC 时,我仍然有点遗憾。我有一个从 MasterPage 调用的导航局部视图,我想在其中获取数据列表。此部分视图位于“共享”文件夹中,因此没有控制器。如何获取数据以便它可以呈现列表?

谢谢

更具体地说,我想做这样的事情(伪代码):

<ul>
<% foreach (item in ListOfItems) {
    Response.Write(formattedListItem);
} %>
</ul>
4

3 回答 3

1

[编辑] 新的有用链接现在我知道了完整的故事

http://www.superexpert.com/blog/archive/2008/08/12/asp-net-mvc-tip-31-passing-data-to-master-pages-and-user-controls.aspx

于 2010-02-20T00:26:31.923 回答
0

你传入一个视图模型,就像你为一个普通页面做的一样。只是,不是在控制器中调用 View(...) 时传入它,而是使用辅助方法。就像是:

<% Html.RenderPartial("~/Views/Shared/Navigation.ascx", Model.MenuItems); %>

您传入的数据(在本例中为 Model.MenuItems)可能来自您使用局部视图的视图的模型(如上例中的情况)。

于 2010-02-20T00:29:15.970 回答
0

Just use RenderAction. RenderAction will call the method on a controller you choose and get the results you wish to display. You can even return a PartialView from this method.

<% Html.RenderAction("actionName", "controllerName"); %>

Hope that helps.

于 2010-03-26T19:26:15.480 回答