我是一个来自web表单世界(3天:)的MVC世界的新手)。我创建了一个MVC网站,其中包含一个来自数据库的动态加载的菜单,并根据点击的内容加载关联的页面。到目前为止,我在单独的页面上加载菜单视图,其索引操作返回一个视图(菜单项列表)和单击每个子菜单项的调用相关网页.. 我创建了加载菜单项新的布局页面(复制从menuView代码)ASP.NET MVC 5布局麻烦部分查看
这里的_Menu
@model IEnumerable<MedicareQA_MVC.Models.spS_MenuItems_Result>
<div >
<ul class="nav nav-tabs nav-stacked col-sm-3 " >
@{
var mainElmnt = Model.Select(o=>o.MenuElementName).Distinct();
foreach (var mainNode in mainElmnt)
{
var elmnts = Model.Where(p => p.MenuElementName == mainNode);
<li >@mainNode</li>
if(elmnts.Count() >0)
{
foreach (var elmt in elmnts)
{
<ul class="nav nav-tabs nav-stacked ">
<li>@Html.ActionLink(elmt.Element,"QADetails","Home",new {id =elmt.RecID },null) </li>
</ul>
}
}
}
}
</ul>
</div>
该页面加载正确的,但是,点击菜单项我得到以下
传递到字典的模型产品 类型的“System.Collections.Generic.List
菜单控制器
public ActionResult Index()
{
MenuModel menu = new MenuModel();
return View(menu.GetMenu1());
}
的_layout
@model IEnumerable<MedicareQA_MVC.Models.spS_MenuItems_Result>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/Bootstrap")
@Scripts.Render("~/bundles/modernizr")
<link href="~/Content/bootstrap.css" rel="stylesheet" />
</head>
<body>
<table>
<tr class="navbar navbar-fixed-top">
<td class="span12" colspan="2"> <h1>Welcome to our Website</h1></td>
</tr>
<tr >
<td class="span4 nav nav-stacked " style="vertical-align:top" >
@Html.Partial("_Menus",Model)
</td>
<td class="span7">
@RenderSection("featured", required: false)
@RenderBody()
</td>
</tr>
</table
页面加载罚款与菜单。但在点击菜单的事件中,我得到这个运行时错误
传递到字典的模型产品 类型的“System.Collections.Generic.List
1[MedicareQA_MVC.Models.QuestionAnswer]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
显示完整的错误信息和一些代码。你的视图有'@model someType',但是你没有将'typeType'传递给视图,你传递了其他东西,但没有看到任何代码,它不可能告诉 – 2015-03-30 23:55:57
我怀疑你的_menulayout视图中你的模型是一个列表(例如@模式列表<...>)。尝试删除该行,看看错误是否消失。 – 2015-03-31 00:36:38
谢谢你们......不幸的是,我没有与我的代码..我会做到这一点,一旦我在工作电脑... – Dom 2015-03-31 01:59:22