我有一個顯示項目列表的ASP.NET MVC應用程序。在我看來,頁面我遍歷所有的項目和渲染局部視圖中的每個項目,像這樣:Html.HiddenFor綁定到錯誤的元素
@foreach(var item in Model.items)
{
<li>
@Html.Partial("ItemView", item)
</li>
}
在項目視圖,我換用具有「刪除」按鈕,這樣的形式,每個項目:
@using(Html.BeginForm(...))
{
@Html.HiddenFor(m=>m.Id)
<label>@Model.Name (@Model.Id)</label>
<input type="submit" value="Delete"/>
}
的項目可以正確地呈現,產生的頁面具有所有顯示其應有的名稱和ID項目的一個很好的列表。
編輯:同樣的情況發生在@隱藏,顯然,違揹我之前寫的。
此外,這隻發生在第二次呈現表單(即單擊刪除按鈕之一後),第一次一切工作正常。我的操作方法如下所示:
public ActionResult AllItems()
{
var model = new AllItemsModel();
return PartialView(model);
}
public ActionResult Delete(DeleteModel model)
{
.... Perform the delete ...
return PartialView("AllItems", new AllItemsModel());
}
爲什麼會發生這種情況?
哇,優秀的觀察。我會檢查,我想我沒有。 – zmbq
你的第一個建議不正確,但你的第二個建議看起來很有希望。太糟糕了,我不能+1兩次...我會檢查它。 – zmbq
是的,就是這樣。非常感謝! – zmbq