コントローラーとアクションを使用して、ASP.NET MVC 2で部分的なビューをレンダリングする方法は?

StackOverflow https://stackoverflow.com/questions/2408961

  •  18-09-2019
  •  | 
  •  

質問

<body>
<div id="header">
<div class="title">SPORTS STORE</div>
</div>
<div id="categories">
<% Html.RenderAction("Menu", "Nav"); %>
</div>
<div id="content">
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>

これは、Steven Sandersonsの本「Pro Asp.Net MVCフレームワーク」のサンプルコードです。

このコードは、MVC V1およびMVCCONTRIBで動作します。それが何をするか、それは「NAV:コントローラー」の「メニュー()」ビューをレンダリングします。 ASP.NET MVC V2にはpartial()とrenderPartial()機能が含まれているため、実装しようとしましたが、このコードは機能しません。いくつかの方法で変更しようとしましたが、パラメーターとして取得する部分的なビューをレンダリングする過負荷関数はないようです。1)コントローラー名2)表示名

私はこのようにRenderaction()を実装している最初の人ではないと確信しているので、回避策がなければなりません。助けてください。

役に立ちましたか?

解決

問題を見つけました。私は常に{controller}/{action}ルートを削除し、すべてのルートをURLのような小文字の休憩でカスタマイズします。しかし、html.renderactionの場合、そのような一般的なルートが必要です。ルートリストの終わりへの一般的なルートを追加しましたが、機能しました。 - Mahdi 2月22日14:42

私はまだ理解していませんが、これが正確にどのように機能するか、なぜ吸うルートがネスサリーであるのか、そしてルートの制約とは何か。たぶん私は後でいくつかの調査をするでしょう。

他のヒント

RenderAction MVC2(docs ここ)。使用するコードを変更したようです RenderPartial 代わりに、これは完全に異なります。使用するために戻します RenderAction そして、あなたは大丈夫です。バージョンに持っていない場合は、おそらく最新のベータ版に更新する必要がありますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top