2

3 列の Web サイトをレイアウトするかみそりのマスターページ (_Layout.cshtml) があります。サイドカラムの1つに「ログインコントロール」を表示したい

私の測定値から、Html.RenderAction を使用して LoginController を呼び出すことができ、サイド カラムにログイン ビューが表示されます。

しかし、それを実行して RenderBody() を満たすために Controller/View を指すと、Html.RenderAction("Index", "LoginController") の呼び出しはこのエラーで失敗します。

 "The controller for path '/[insert path to a Controller/View to fill the 
  RenderBody()]' was not found or does not implement IController. "

それで、私は何を間違っていますか?

私のコードは本当に次のように単純です。

    <div id="Navigation">@{ Html.RenderPartial("Test"); }</div>
    <div id="Main">@RenderBody()</div> 
    <div id="Misc">@{ Html.RenderAction("Index", "LoginController");}</div>

私のコントローラー フォルダーには、RenderBody と LoginController のコントローラーがあります。

4

1 に答える 1

9

MVC で規則によってコントローラー名を指定する場合、「コントローラー」の部分は含めません。

Html.RenderAction("Index", "LoginController")

「LoginControllerController」という名前のコントローラーがないと機能しません

試す

<div id="Misc">@{ Html.RenderAction("Index", "Login");}</div>
于 2012-05-02T18:36:39.323 に答える