2012-02-06 34 views
5

Tại sao Telerik ComboBoxFor không ràng buộc giá trị của tôi và điền vào ComboBox của tôi qua AJAX?Làm cách nào để liên kết dữ liệu từ Telerik ComboBox với mô hình dữ liệu của tôi

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

Trong điều khiển của tôi tôi nhận được thực thể nhưng VendorID == 0.

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

Trả lời

5

Lựa chọn 1

Di .Name("ddlVendor") từ ComboBox của bạn nếu bạn không cần nó.

Lựa chọn 2

Đổi tên ComboBox của bạn như sau và cập nhật bất kỳ tài liệu tham khảo sự kiện khách hàng để kiểm soát:

.Name("VendorId") 
+0

dữ liệu Combobox không được lọc bởi Id. Bộ điều khiển của tôi lấy Model entity: public ActionResult Create (Car obj) ... và Car.VendorId luôn luôn equils 0. – user571874

+0

Ok. Tôi hiểu lầm câu hỏi của bạn. Vì vậy, combo của bạn liên kết chính xác nhưng khi bạn gửi biểu mẫu để tạo bản ghi, giá trị VendorId của bạn trên mô hình trống? – Nick

+0

có. được rồi. – user571874

Các vấn đề liên quan