【发布时间】:2016-02-04 16:56:54
【问题描述】:
我是 MVC 新手,有一个简单的问题。
这是我的看法:
@model EditWorkflowViewModel
@Html.TextBoxFor(m => m.Test, new { id = "txtbTest", @class = "form-control"})
<button class="btn btn-success" id="btnOk"><i class="fa fa-floppy-o"></i> Ok</button>
这是我的控制器动作:
[HttpPost]
public ActionResult Edit(EditWorkflowViewModel viewModel)
{
//... Code to persist the viewModel Data...
viewModel.Test = "changed";
if (Request.IsAjaxRequest())
return PartialView("_Edit", viewModel);
return View("_Edit", viewModel);
}
为什么在 Action 执行后 TextBox 没有被“更改”的文本更新,在这种情况下如何更新视图?
感谢您的帮助
【问题讨论】:
-
因为 html 帮助程序使用来自
ModelState的值,而不是您的模型属性(如果它们存在)。因为你的方法有一个模型参数,它的属性值被DefaultModelBinder添加到ModelState(更详细的解释请参考this answer)
标签: c# asp.net-mvc asp.net-mvc-4