【发布时间】:2014-02-12 13:37:15
【问题描述】:
我在我的第一个 MVC 项目中。我想创建一个带有标题的页面,并在此标题中放置一个带有类别列表的部分视图。
这是我到目前为止所做的: 我创建了母版页 (_Home.cshtml)。比在共享文件夹中我创建了一个视图(Category.cshtml)。看我的图。
我的 Category.cshtml 内容:
@model IEnumerable<ArtSchool.Models.Category>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Visible)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Visible)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
</td>
</tr>
}
我的母版页文件:
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>_Home</title>
</head>
<body>
<div>
@Html.Partial("ASCX/Header")
@Html.Partial("Category")
@RenderBody()
</div>
当我运行项目时出现错误:
我知道这是一个新手问题,但这是我的第一个 MVC 项目。 谢谢!
【问题讨论】:
-
您需要通过此调用
@Html.Partial("Category")传递Model。您应该调用生成此模型的控制器/操作,然后返回部分。 -
你在你的行动中做了什么??你应该在你的控制器中渲染部分视图
-
你确定吗?在我的项目中,我没有更多他展示的东西。我没有传递任何额外的数据、调用控制器、返回部分并且一切正常
-
@szpic,你的局部视图是强类型的吗?如果是这样,那么对
Model的任何引用都会产生相同的错误。 -
@AndreiV 是的。在我的 vs 强类型中是默认的。没有复选框创建强类型等
标签: c# asp.net-mvc list partial-views