2012-02-06 52 views
5

为什么我的Telerik ComboBoxFor无法绑定我的值并通过AJAX填充我的ComboBox?如何将数据从Telerik ComboBox绑定到我的数据模型

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

在我的控制,我得到的实体,而是VENDORID == 0,

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

回答

5

选项1

删除.Name("ddlVendor")从您的组合框,如果你不需要它。

选项2

重命名您的ComboBox如下,并更新任何客户端事件引用控制:不标识过滤

.Name("VendorId") 
+0

组合框的数据。我的控制器采取模型实体:public ActionResult创建(Car obj)...和Car.VendorId总是等于0. – user571874 2012-02-06 10:04:19

+0

好的。我误解了你的问题。因此,您的组合绑定正确,但是当您提交表单以创建记录时,模型上的VendorId值为空? – Nick 2012-02-06 10:08:33

+0

是的。好吧。 – user571874 2012-02-06 10:12:05

相关问题