2016-04-18 12 views
-1

私は最初からMVCプロジェクトを作成していますが、_Layoutからコントローラとそのビューを呼び出すことはできません。_Layoutからコントローラとそのビューを呼び出す

  • 私はそれは、フォルダコントローラ/ _layoutで

enter image description here

で、独自のコントローラXMenuControllerを持って、私はコントローラを呼び出すXMenu/

/フォルダビューで
  • を見るXMenuを作成しましたHtml.RenderActionを使用します。私もHtml.Actionを試みましたが、成功しませんでした。

    <div> 
         @{ @Html.RenderAction("MenuAction", "XMenu") };   
    </div> 
    

    コントローラXMenu

    public class XMenuController : Controller 
        { 
         // 
         // GET: /XMenu/ 
    
         public ActionResult Index() 
         { 
    
          return View(); 
         } 
    
         [ChildActionOnly] 
         public ActionResult MenuAction() 
         {   
         return PartialView(); 
    
         } 
    
        } 
    

    ビューXMenu:

    My Menu 
    

    私はちょうど_layoutからコントローラとそのビューを呼び出そうと、まだパラメータを置くが、エラーを取得していません:

    Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments

    • _Layoutからコントローラとそのビューを呼び出すことはできますか?
    • どうすればいいですか?

    EDIT:

    I}は( "MenuAction"、 "XMenu")Html.Action @試みました。

    enter image description here

    私はMenuAction.cshtmlにビューの名前を変更しようとしました。

    enter image description here

    Iは{Html.RenderAction( "MenuAction"、 "XMenu")@試みました。 }; enter image description here

    私のコントローラとビューの名前が変更されました。

    enter image description here

  • +0

    なぜあなたは@ Html.Partial()を試していませんか?適切なアクションでビューをロードします。 –

    +0

    はい、@ Html.Partial()を試しましたが、コントローラなしで部分的なビューのみを読み込みます。そして、後でパラメータを渡すためのコントローラのメソッドが必要になります。 – Delmonte

    +0

    maby '@ {Html.RenderAction(" MenuAction "、" XMenu ")};'?私は '@' charの問題を意味しますか? –

    答えて

    0

    私はそれをコンパイルしようとしました。そしてあなたの問題はあなたのメソッドシグネチャにあると信じています。それはでなければなりません:

    @{ Html.RenderAction("MenuAction", "XMenu"); }; 
    
    +0

    成功しません。私の最後の編集を参照してください。 – Delmonte

    +0

    @Delmonteあなたは何か間違っている、私は新しいプロジェクトを作成し、私の変更後にすべて正常に動作します –

    関連する問題