這是我在stackoverflow的第一個問題,經過許多搜索,但我仍然有一個奇怪的ASP MVC問題。刪除列表<Model>(ASP MVC 5)
我有一個包含輸入的窗體中的視圖顯示列表。 我想允許用戶刪除一個或多個元素,通過檢查它並應用於提交。
的型號:
public class MTest
{
public string Nom { get; set; }
public bool Delete { get; set; }
}
控制器:
public partial class TestController : Controller
{
public virtual ActionResult Index()
{
List<MTest> m = new List<MTest>();
m.Add(new MTest() { Nom = "A", Delete = false });
m.Add(new MTest() { Nom = "B", Delete = false });
m.Add(new MTest() { Nom = "C", Delete = false });
m.Add(new MTest() { Nom = "D", Delete = false });
return View(m);
}
[HttpPost]
public virtual ActionResult Index(List<MTest> model)
{
model.RemoveAll(f => f.Delete == true);
return View(model);
}
}
的觀點:
@model List<MTest>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
@for (int i = 0; i < Model.Count; i++)
{
@Html.EditorFor(model => model[i].Delete)
@Html.EditorFor(model => model[i].Nom, new {
}
<input type="submit" value="Save" />
}
目前,如果我檢查「B」 MTest
元件(用於刪除的話),我可以看到它disapear當我通過在ActionResult Index(List model)
步驟運行步驟。 但進入視圖:結果是不一樣的,我不明白爲什麼(見插圖)。
可以somenone幫助我嗎?
非常感謝!