Я пытаюсь создать простой прокручиваемый список флажков в ASP. NET MVC 5. Я установил один флажок, и он корректно отправляет правильное значение в модель. Проверено:
Контроллер
using System.Web.Mvc;
using Checkbox1.Models;
namespace Checkbox1.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new TestModel
{
Checked = true
};
return View(model);
}
[HttpPost]
public ActionResult Index(TestModel model)
{
return View(model);
}
}
}
Вид
@model Checkbox1.Models.TestModel
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.CheckBoxFor(m => m.Checked, Model.Checked)
<input type="submit" value="submit" />
}
Модель
namespace Checkbox1.Models
{
public class TestModel
{
public bool Checked { get; set; }
}
}
Но когда я пытаюсь сделать то же самое с списком * bool , я не могу получить значение bool для передачи обратно в контроллер. Похоже, что модель повторно создается и обнуляется, когда отправляется обратно в контроллер:
Контроллер
using System.Collections.Generic;
using System.Web.Mvc;
using Checkbox2.Models;
namespace Checkbox2.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
var model = new TestModel()
{
lstChecked = new List<bool>()
};
model.lstChecked.Add(true);
return View(model);
}
[HttpPost]
public ActionResult Index(TestModel model)
{
return View(model);
}
}
}
Просмотр
@model Checkbox2.Models.TestModel
@using (Html.BeginForm("Index", "Home", FormMethod.Post))
{
@Html.CheckBoxFor(m => m.lstChecked[0], Model.lstChecked[0])
<input type="submit" value="submit" />
}
Модель
using System.Collections.Generic;
using System.Web;
namespace Checkbox2.Models
{
public class TestModel
{
public List<bool> lstChecked;
}
}
Я хотел бы знать, почему это не работает, но если бы вы могли указать мне на простой рабочий пример прокручиваемый список флажков, которые также будут высоко оценены!