通过jQuery填充数据时,MVC模型不会更新

时间:2016-06-03 15:07:45

标签: c# jquery asp.net ajax asp.net-mvc

我正在使用kendo网格弹出编辑器。我有一个自定义模板(局部视图)进行编辑。我有一个下拉和变更事件,我填写TextBox。问题是当我将模型发送到控制器时,TextBox值为空。它没有使用填充值更新模型。知道为什么吗?

@(Html.Kendo().DropDownListFor(w => w.AddressID)
    .DataTextField("Name")
    .DataValueField("AddressID")
    .DataSource(source =>
    {
        source.Read(read =>
        {
            read.Action("GetAddressType", "DataSource").Data("filterAddressTypes");
        })
        .ServerFiltering(true);
    })
    .CascadeFrom("CodeIDAddressType")
    .Events(e => e.Change("addressSubType"))
)
@Html.TextBoxFor(model => model.AddressLine1)

在AJAX完成功能上,我填充了值。

$("#AddressLine1").val(response.AddressLine1)

控制器:

 [HttpPost]
    public ActionResult CreateEvent([DataSourceRequest] DataSourceRequest request, MyViewModel request, int ID)
    {
        try
        {

            if (!ModelState.IsValid) return View();
            var db = Event.New();
            db.EventID = ID;
            db.Name = request.Name;
            db.AddressID = request.AddressLine1, 
            db.Save();

            return Json(new[] { "" }.ToDataSourceResult(request, ModelState));
        }
        catch (Exception ex)
        {
            ModelState.AddModelError("", ex);
            return Json(new DataSourceResult { Errors = ex });
        }
    }

我可以在文本框中看到新值,但在提交时,它会向控制器发送null。如果我在AddressLine1字段中输入值而不是填充,则会将输入的值发送给控制器。

0 个答案:

没有答案