У меня есть флажок и кнопка:Как получить значение флажка из FormCollection?
@using(Html.BeginForm())
{
<div id="search-block">
<input type="checkbox" name="showAll" id="showAll">Include completed
<input type="submit" value="Apply"/>
</div>
}
и второй вещь в контроллере:
[HttpPost]
public ActionResult Index(FormCollection collection)
{
var showAll = collection["showAll"];
TempData["showAll"] = showAll;
...
something
...
}
Это на самом деле работает, НО:
Если флажки не установлены, я получаю нуль (меня не сильно беспокоит).
Если отмечены флажки, я получаю «on» от FormCollection
, и это не то, что мне нужно. Я хочу получить истинное или ложное.
Как я могу это сделать?
Вы можете поместить в поле скрытое поле с таким же именем, что и в поле "false". , тогда, если они не будут отмечать флажок, значение, отправленное в форме, будет ложным. Если они это проверят, вы получите «on, false», но вы можете сортировать это в своем контроллере bool x = (collection ["showAll"] == 'false') –
Это шутка? –
nope - если вы посмотрите на фоне того, как некоторые из фреймворков имеют дело с флажками, вы найдете скрытое поле, выполняющее это - оно гарантирует, что что-то опубликовано на сервере –