将数据获取到共享局部视图

发布于 2024-08-23 01:04:54 字数 294 浏览 7 评论 0原文

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

谢谢

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

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

I'm still sadly a bit n00bish when it comes to .NET MVC. I have a navigation partial view being called from a MasterPage where I would like to get a list of data. This partial view is in the "Shared" folder, and thus does not have a controller. How do I get data to it so that it may render a list?

Thanks

More specifically, I want to do something like this (pseudocode):

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

孤独陪着我 2024-08-30 01:04:54

您可以像传递常规页面一样传递视图模型。只是,您可以使用辅助方法,而不是在控制器中调用 View(...) 时传入它。类似于:

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

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

You pass in a view model just like you do for a regular page. Only, instead of passing it in when calling View(...) in the controller, you use a helper method. Something like:

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

The data you are passing in (Model.MenuItems in this case) will probably come from the Model of the View in which you are using the partial view (as is the case in the example above).

紫﹏色ふ单纯 2024-08-30 01:04:54

只需使用 RenderAction 即可。 RenderAction 将调用您选择的控制器上的方法并获取您希望显示的结果。您甚至可以从此方法返回 PartialView。

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

希望有帮助。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文