我有我的看法是一个非常简单的场景,模型是一个列表。
通过像列表循环
@foreach(CustomObject obj in Model)
{
Html.Partial("_TrackingCustomObject",obj)
}
所以,我期待根据我的名单有部分意见数。
部分景观已制定了相应的。
目前网页上没有错误。 它只是不表明应该通过局部视图来显示任何数据。
什么是不显示任何数据的原因是什么?
我有我的看法是一个非常简单的场景,模型是一个列表。
通过像列表循环
@foreach(CustomObject obj in Model)
{
Html.Partial("_TrackingCustomObject",obj)
}
所以,我期待根据我的名单有部分意见数。
部分景观已制定了相应的。
目前网页上没有错误。 它只是不表明应该通过局部视图来显示任何数据。
什么是不显示任何数据的原因是什么?
你缺少一个@:
@foreach(CustomObject obj in Model)
{
@Html.Partial("_TrackingCustomObject", obj)
}
但是,为什么写foreach循环时,你可以使用编辑器/显示模板? 像这样:
@model IEnumerable<CustomObject>
@Html.EditorForModel()
然后简单地定义相应的编辑模板( ~/Views/Shared/EditorTemplates/CustomObject.cshtml
),将自动被渲染为模型中的每个元素:
@model CustomObject
<div>
@Html.EditorFor(x => x.Foo)
</div>
简单和常规:-)
尝试:@ Html.RenderPartial( “_ TrackingCustomObject”,OBJ)
你错过了剃刀符号@
:
@foreach(CustomObject obj in Model)
{
@Html.Partial("_TrackingCustomObject",obj)
}
另外, 请确保您的局部视图是使用对象类型CustomObject
作为示范。
@model MyProject.Models.CustomObject
<h1>Yeah we're in a partial! @Model.SomeProperty </h1>
要尝试并深入到错误所在,请尝试将PartialView内的一些静态文本。
<p>Some text</p>
如果您收藏有10个项目,那么你应该看到这些段落10。 接下来一旦这个工程,专注于每个项目显示某些属性。
@model MyProject.Models.CustomObject
<p>Some text</p>
<p>@Model.SomeProperty</p>
当您创建一个使用HTML表单@Html.BeginForm()
你必须包装内的剩余塞入一个<div>
或其他容器否则html元素将不会呈现。
防爆。
这是不行的
@using(Html.BeginForm())
{
Html.EditorFor(m => m.Name)
}
这将工作
@using(Html.BeginForm())
{
<div>
@Html.EditorFor(m => m.Name)
</div>
}
当天晚了一些,但是这在MVC 4为我工作:
@foreach (var p in @Model.RelatedCards)
{
Html.RenderPartial("_ThumbPartial", p);
}
这是太旧了,但有人可以使用它。
@foreach(CustomObject obj in Model)
{
<text>
Html.Partial("_TrackingCustomObject",obj)
</text>
}