2015-11-04 69 views
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); 
} 

为什么文本框不更新与文字“改为”哪有我在这种情况下更新视图?

感谢您的帮助

+2

因为HTML佣工如果它们存在使用来自'ModelState',而不是你的模型属性的值。而且因为你的方法有一个你的模型的参数,所以它的属性值被'DefaultModelBinder'添加到'ModelState'中(参考[这个答案](http://stackoverflow.com/questions/26654862/textboxfor-displaying-initial-价值不是价值更新从代码/ 26664111#26664111)更详细的解释) –

回答

相关问题