我有一個用戶控件正在呈現項目列表。每行包含隱藏字段中的唯一標識,文本和刪除按鈕。當點擊刪除按鈕時,我使用jquery ajax來調用控制器方法DeleteCA(見下文)。 DeleteCA返回替換舊列表的項目的新列表。.net MVC RenderPartial呈現不在模型中的信息
[HttpPost]
public PartialViewResult DeleteCA(CAsViewModel CAs, Guid CAIdToDelete)
{
int indexToRemove = CAs.CAList.IndexOf(CAs.CAList.Single(m => m.Id == CAIdToDelete));
CAs.CAList.RemoveAt(indexToRemove);
return PartialView("EditorTemplates/CAs", CAs);
}
我檢查過DeleteCA確實刪除了正確的項目。傳遞給PartialView的CA的修改列表不再包含已刪除的項目。
呈現部分視圖時會發生一些不可思議的事情。列表中項目的數量會減少,但始終是從列表中刪除的最後一個元素。呈現的項目不對應於發送到PartialView的列表/模型中的項目。
在usercontrol文件(ascx)中,我使用了Model.CAList和lambda表達式m => m.CAList。
usercontrol如何渲染不在模型中發送給PartialView的東西?
感謝名單 安德烈亞斯
啊!非常感謝奧馬爾! – Andreas 2010-06-17 06:57:16