1

悲しいことに、.NET MVC に関して言えば、私はまだ少し無頓着です。データのリストを取得したい MasterPage から呼び出されるナビゲーション部分ビューがあります。この部分ビューは "Shared" フォルダーにあるため、コントローラーはありません。リストをレンダリングできるようにデータを取得するにはどうすればよいですか?

ありがとう

より具体的には、次のようなことをしたい(疑似コード):

<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

RenderActionを使用するだけです。RenderActionは、選択したコントローラーのメソッドを呼び出し、表示したい結果を取得します。このメソッドからPartialViewを返すこともできます。

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

お役に立てば幸いです。

于 2010-03-26T19:26:15.480 に答える
0

通常のページの場合と同じように、ビュー モデルを渡します。ただ、コントローラーで View(...) を呼び出すときにそれを渡す代わりに、ヘルパー メソッドを使用します。何かのようなもの:

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

渡すデータ (この場合は Model.MenuItems) は、おそらく部分ビューを使用しているビューのモデルから取得されます (上記の例の場合と同様)。

于 2010-02-20T00:29:15.970 に答える