2012-02-06 17 views
5

Perché il mio Telerik ComboBoxFor non può vincolare il mio valore e riempire il mio ComboBox tramite AJAX?Come associare dati da Telerik ComboBox al mio modello di dati

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

Nel mio controller ottengo entità, ma ID fornitore == 0.

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

risposta

5

Opzione 1

Rimuovere .Name("ddlVendor") dal ComboBox se non ne hai bisogno.

Opzione 2

Rinominare il ComboBox come segue e aggiorna tutti i riferimenti degli eventi client al controllo:

.Name("VendorId") 
+0

dati Combobox non filtrati da Id. il mio controller prende l'entità Model: public ActionResult Create (Car obj) ... e Car.VendorId equivale sempre a 0. – user571874

+0

Ok. Ho frainteso la tua domanda. Quindi il tuo combo si lega correttamente ma quando si invia il modulo per creare il record, il valore di VendorId sul modello è vuoto? – Nick

+0

si. Tutto ok. – user571874

Problemi correlati