2012-02-06 13 views
5

¿Por qué mi Telerik ComboBoxFor no vincula mi valor y llena mi ComboBox a través de AJAX?¿Cómo puedo vincular los datos de Telerik ComboBox a mi modelo de datos

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

En mi controlador me sale entidad, sino == vendorID 0.

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

Respuesta

5

Opción 1

Retire .Name("ddlVendor") de su ComboBox si no lo necesita.

Opción 2

cambiar el nombre del cuadro combinado de la siguiente manera y actualizar todas las referencias de eventos del cliente al control:

.Name("VendorId") 
+0

datos no filtrados por Combobox Id. mi controlador toma la entidad del modelo: public ActionResult Create (Car obj) ... y Car.VendorId siempre es 0. – user571874

+0

Ok. No entiendo bien tu pregunta. ¿Entonces su combo se enlaza correctamente pero cuando envía el formulario para crear el registro, su valor de VendorId en el modelo está vacío? – Nick

+0

sí. todo bien. – user571874

Cuestiones relacionadas