@формат HTML.RadioButtonFor boolean
у меня есть форма:
@using (Html.BeginForm("Buy", "Keys", FormMethod.Post))
{
<div class="calc_steps">
<div class="NumberedRow one">
1. @Html.DropDownListFor(model => model.PaymentSystem, Model.PaymentSystems, new { @class = "calcsteps_select styledselect" })
</div>
<div class="NumberedRow two">
2. <div class="cnt">
Укажите тип лицензии
<div class="radio-jquery-ui">@Html.RadioButtonFor(model => model.IsElite, "false") <label>Обычная</label></div>
<div class="radio-jquery-ui">@Html.RadioButtonFor(model => model.IsElite, "true") <label>Расширенная</label></div>
</div>
</div>
<div class="NumberedRow three">
3.
<div class="cnt">
Введите срок
@Html.TextBoxFor(model => model.NumDays)
</div>
</div>
<div class="itog">
Итого: <span id="ïtogo">0 рублей 00 копеек</span>
</div>
<div>
<input type="submit" value="Купить"/>
</div>
</div>
}
модель:
public class BuyModel
{
public string PaymentSystem;
public bool IsElite;
public int NumDays;
public IEnumerable<SelectListItem> PaymentSystems;
}
действие:
[HttpPost]
public ActionResult Buy(BuyModel model)
{
return View("BuySummary", model);
}
и когда я представляю его модель.IsElite всегда false(по умолчанию). Что я здесь делаю не так?
2 ответов
заменить
public bool IsElite;
С
public bool IsElite {get;set;}
Он должен работать сейчас !
не забудьте привязать к properties
а не переменные
такой. ? вам нужно установить свойство для этого
public bool IsElite{get;set;};
тогда попробуйте вот так
@Html.RadioButtonFor(model => model.IsElite, "True", model.IsElite== true ? new { Checked = "checked" } : null)