2013-03-08 5 views
6

Ive एक रूप है:@ Html.RadioButtonFor बूलियन

@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); 
    } 

और जब मैं इसे प्रस्तुत model.IsElite हमेशा गलत है (डिफ़ॉल्ट रूप से)। मुझसे यहां क्या गलत हो रहा है?

+0

सही लग रहा है बाध्य करने के लिए याद रखें। वह हमेशा sux। मुझे संदेह है कि यह ठीक है, लेकिन अपना मॉडल और एक्शन विधि साझा करें। –

+0

Ive ने मेरी पोस्ट अपडेट की। अपना समय देने के लिए धन्यवाद! – CodeDemen

+1

आप गुण नहीं चर –

उत्तर

1

तरह की कोशिश के साथ

public bool IsElite {get;set;} 

अब यह काम करने के लिए है

public bool IsElite; 

बदलें!

properties और नहीं करने के लिए चर

+1

Omg के साथ एक मॉडल पोस्ट! धन्यवाद! समय की एक बहुत राशि के लिए MVC के साथ इम कोडिंग पहले से ही है और कभी नहीं इस तरह के एक गलती की है ... शायद यह समय o.o सोने के लिए जाने के लिए – CodeDemen

0

इस तरह। ? आपको लगता है कि

public bool IsElite{get;set;}; 

के लिए एक संपत्ति निर्धारित करने की आवश्यकता है तो इस

@Html.RadioButtonFor(model => model.IsElite, "True", model.IsElite== true ? new { Checked = "checked" } : null) 
+0

करने के लिए बाध्य करना चाहिए नहीं, मेरा मतलब है कि यह हमेशा "गलत" मूल्य – CodeDemen

संबंधित मुद्दे