我是MVC的新手并试图找出如何将一些数据传递给_Layout.cshtml视图。这将是我的数据库中需要显示在每个页面上的数据。
我采取的方法是通过局部视图。不确定这是否是最好的方法,但它会导致错误。 是否有更好的方法或如何解决此错误?
我简化了我的项目,以显示我使用局部视图方法收到的错误。
错误:路径控制器' /'未找到或未实现IController。
_Layout.cshtml
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
@{Html.RenderAction("getMenuList", "MenuView"); }
<div class="container body-content">
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
MenuView.cshtml
@model System.Collections.Generic.List<PartialViewTest.Models.MenuItems>
<ul>
@foreach (var _Menu in Model)
{
<li>@_Menu.LinkName</li>
}
</ul>
MenuController.cs
namespace PartialViewTest.Controllers
{
public class MenuController : Controller
{
public PartialViewResult getMenuList()
{
System.Collections.Generic.List<Models.MenuItems> _list;
_list = new System.Collections.Generic.List<Models.MenuItems>
{
new PartialViewTest.Models.MenuItems{ LinkName = "Google", LinkURL = "http://google.com"},
new PartialViewTest.Models.MenuItems{ LinkName = "CNN", LinkURL = "http://cnn.com"}
};
return PartialView("getMenuList", _list);
}
// GET: Menu
public ActionResult Index()
{
return View();
}
}
}
MenuItem.cs
namespace PartialViewTest.Models
{
public class MenuItems
{
public string LinkName { get; set; }
public string LinkURL { get; set; }
}
}