Ive got a form:
@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>
}
Model:
public class BuyModel
{
public string PaymentSystem;
public bool IsElite;
public int NumDays;
public IEnumerable<SelectListItem> PaymentSystems;
}
Action:
[HttpPost]
public ActionResult Buy(BuyModel model)
{
return View("BuySummary", model);
}
And when I submit it the model.IsElite is always false(as by default). What am I doing wrong here?
Replace
public bool IsElite;
with
public bool IsElite {get;set;}
It has to work now !
Remember to bind to the properties
and not the variables
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With