2012-02-06 17 views
5

Neden Telerik ComboBoxFor değerinimi bağlama ve ComboBox'umu AJAX aracılığıyla doldurmuyor? Eğer ihtiyacınız yoksa benim denetleyicisi olarakVerileri Telerik ComboBox'tan veri modelime nasıl bağlarım?

@using (Html.BeginForm()) { 
@Html.ValidationSummary(true) 
<fieldset> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Name) 
     @Html.ValidationMessageFor(model => model.Name) 
    </div> 
    <div class="editor-field"> 
    @(Html.Telerik().ComboBoxFor(model => model.VendorId) 
     .Name("ddlVendor") 
     .ClientEvents(events => 
          { 
           events.OnLoad("onVendorLoad"); 
           //events.OnChange("onVendorChange"); 
           events.OnDataBinding("onComboBoxDataBinding"); 
          } 
     ) 
     .DataBinding(bind => bind.Ajax().Select("_AjaxGetVendors", "Car")) 
    ) 
    </div> 
    <p> 
     <input type="submit" value="Зберегти" /> 
    </p> 
</fieldset>} 

Ben senin ComboBox varlık ama VendorID == 0.

[HttpPost] 
    public ActionResult Create(Car obj) 
    { 
      dm.InsertModel(obj); 
      return RedirectToAction("Create"); 
    } 

cevap

5

Seçenek 1

çıkarın .Name("ddlVendor") olsun.

Seçenek 2

denetime herhangi bir istemci olay başvuruları aşağıdaki gibi ComboBox yeniden adlandırma ve güncelleme:

.Name("VendorId") 
+0

Combobox veri Id tarafından filtre değil. Denetleyicim Model varlığını alır: public ActionResult Oluştur (Car obj) ... ve Car.VendorId her zaman 0'a eşittir. – user571874

+0

Tamam. Sorunu yanlış anladım. Böylece, combo'nuz doğru şekilde bağlanır, ancak kayıt oluşturmak için formu gönderdiğinizde, modeldeki VendorId değeriniz boş mu? – Nick

+0

evet. tamam. – user571874