我正在使用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
字段中输入值而不是填充,则会将输入的值发送给控制器。