0
我是MVC的新手,并且有一个简单的问题。如何在控制器中更改ViewModel时更新视图
这是我的看法:
@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);
}
为什么文本框不更新与文字“改为”哪有我在这种情况下更新视图?
感谢您的帮助
因为HTML佣工如果它们存在使用来自'ModelState',而不是你的模型属性的值。而且因为你的方法有一个你的模型的参数,所以它的属性值被'DefaultModelBinder'添加到'ModelState'中(参考[这个答案](http://stackoverflow.com/questions/26654862/textboxfor-displaying-initial-价值不是价值更新从代码/ 26664111#26664111)更详细的解释) –