我是一個來自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