У меня действительно возникают проблемы с сохранением состояния моего флажка в моем приложении mvc4. Я пытаюсь отправить его значение до моей логики контроллера и обновить список в моей модели на основе данного значения, прежде чем отправить модель обратно в представление с новыми значениями. Учитывая, что мой флажок является функцией «показать отключенные элементы в списке», мне нужно, чтобы он включался и выключался. Я видел так много различных решений, но я не могу показаться, чтобы заставить их работать :(Как сохранить состояние щелчка флажка в asp.net
Вот часть моего зрения:
@model MyProject.Models.HomeViewModel
<div class="row-fluid">
<div class="span12">
<div class="k-block">
<form action="~/Home/Index" name="refreshForm" method="POST">
<p>Include disabled units: @Html.CheckBoxFor(m => m.Refresh)</p>
<input type="submit" class="k-button" value="Refresh" />
@* KendoUI Grid code *@
</div>
</div>
HomeViewModel:
public class HomeViewModel
{
public List<UnitService.UnitType> UnitTypes { get; set; }
public bool Refresh { get; set; }
}
HomeViewController потребуется некоторое рефакторинга, но это будет новая задача
[HttpPost]
public ActionResult Index(FormCollection formCollection, HomeViewModel model)
{
bool showDisabled = model.Refresh;
FilteredList = new List<UnitType>();
Model = new HomeViewModel();
var client = new UnitServiceClient();
var listOfUnitsFromService = client.GetListOfUnits(showDisabled);
if (!showDisabled)
{
FilteredList = listOfUnitsFromService.Where(unit => !unit.Disabled).ToList();
Model.UnitTypes = FilteredList;
return View(Model);
}
FilteredList = listOfUnitsFromService.ToList();
Model.UnitTypes = FilteredList;
return View(Model);
}
Очистите код до наименьшего возможного тестового примера, и это облегчит его просмотр. Ex. «TmpList» нигде не определен. –
Теперь отредактируйте этот пост, когда я его обработаю. Просто нужно некоторое время, чтобы очистить его. –