从_Layout

时间:2016-04-18 15:36:03

标签: asp.net-mvc

我从头开始创建一个MVC项目,我无法从_Layout调用控制器及其视图。

  • 我在文件夹Views / XMenu /

  • 中创建了View XMenu
  • 它在Controllers /

  • 文件夹中有自己的控制器XMenuController

enter image description here

在_Layout中,我使用Html.RenderAction调用控制器。我也试过Html.Action但没有成功。

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

Controller XMenu

 public class XMenuController : Controller
    {
        //
        // GET: /XMenu/

        public ActionResult Index()
        {

            return View();
        }

        [ChildActionOnly]
        public ActionResult MenuAction()
        {        
        return PartialView();

        }

    }

查看XMenu:

My Menu

我还没有放任何参数,只是试图从_Layout调用一个控制器及其视图,但得到错误:

  

编译器错误消息:CS1502:最佳重载方法匹配   'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)'   有一些无效的论点

  • 是否可以从_Layout调用控制器及其视图?
  • 我该怎么称呼它?

修改

我试过@ Html.Action(“MenuAction”,“XMenu”)};

enter image description here

我尝试将视图重命名为MenuAction.cshtml。

enter image description here

我试过@ {Html.RenderAction(“MenuAction”,“XMenu”); }; enter image description here

我重命名了我的控制器和我的视图。

enter image description here

1 个答案:

答案 0 :(得分:0)

我试着编译它。相信你的问题是你的方法签名。它应该是:

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