我有一個非常簡單的場景,我的視圖的模型是一個List。在MVC3的循環中渲染部分視圖
遍歷目錄像
@foreach(CustomObject obj in Model)
{
Html.Partial("_TrackingCustomObject",obj)
}
所以我期待根據我的名單有部分意見數。
部分視圖已相應開發。
頁面沒有錯誤。它只是不顯示任何應該通過部分視圖顯示的數據。
什麼原因沒有顯示任何數據?
我有一個非常簡單的場景,我的視圖的模型是一個List。在MVC3的循環中渲染部分視圖
遍歷目錄像
@foreach(CustomObject obj in Model)
{
Html.Partial("_TrackingCustomObject",obj)
}
所以我期待根據我的名單有部分意見數。
部分視圖已相應開發。
頁面沒有錯誤。它只是不顯示任何應該通過部分視圖顯示的數據。
什麼原因沒有顯示任何數據?
嘗試:@ Html.RenderPartial( 「_ 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>
簡單和常規:-)
您錯過了剃刀符號@
:
@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.BeginForm()
創建HTML表單,你必須包裝一個<div>
或其他容器否則html元素將不會呈現內剩餘塞入。
Ex。
這是不行的
@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>
}
沒有這不是一個問題,因爲我使用剃刀視圖我不需要把@everywhere。仍然在改變它也不起作用 – 2012-07-13 17:30:01
如果這不起作用,那麼我懷疑你的問題是在別的地方。例如,您可以開始查看您的'_TrackingCustomObject.cshtml'部分。 – 2012-07-13 17:31:32