【发布时间】:2014-04-29 18:32:22
【问题描述】:
我有一个控制器动作:
public ActionResult Sub(int id)
{
SubPage_Table subpage_table = db.SubPage_Table.Single(s => s.PageID == id);
if (subpage_table == null)
{
return HttpNotFound();
}
return View(subpage_table);
}
还有一个观点:
@model Name.Models.DB.SubPage_Table
@Html.Raw(HttpUtility.HtmlDecode(Model.PageContent))
但我的布局需要强类型:
@model IEnumerable<Name.Models.DB.SubPage_Table>
@foreach (var item in Model)
{@: <li> @Html.ActionLink((item.PageTitle), "Sub", new { id = item.PageID })</li>
}
如何用数据填充我的视图和布局?
【问题讨论】:
-
您会假设您在应用程序中使用该布局创建的每个页面都需要
IEnumerable<Name.Models.DB.SubPage_Table>?这似乎很不现实。 -
嗯,我想...除非您知道如何创建链接,例如 @Html.ActionLink((item.PageTitle), "Sub", new { id = item.PageID } 不使用 Ienumerable ? 因为现在我使用 foreach 循环创建
-
所以你真正的问题听起来像如何为我的布局检索数据?
-
嗯,Lokoks 喜欢你是对的。我试过 List
subpage_table =db.SubPage_Table.Where(s => s.PageID == id).ToList();在控制器中,但最终由于新的 { id = item.PageID } Pages 我只显示了一个链接而不是全部。 (只显示当前一个,所以如果我转到子页面“Test”,那么在菜单中只显示“Test”,而不是“test2”,“test3”等...... -
我已经更新了你的问题来谈谈相关信息。
标签: c# asp.net-mvc razor asp.net-mvc-views asp.net-mvc-layout