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

Почему TextBox не обновляется с текстом после действий был выполнен «изменен» и как я могу обновить представление в этом случае?

Спасибо за помощь

+2

Поскольку HTML хелпер использовать значение из 'ModelState', а не ваши свойств модели, если они существуют. И поскольку у вашего метода есть параметр для вашей модели, его значения свойств добавляются в 'ModelState' с помощью' DefaultModelBinder' (см. [Этот ответ] (http://stackoverflow.com/questions/26654862/textboxfor-displaying-initial- value-not-the-value-updated-from-code/26664111 # 26664111) для более подробного объяснения) –

ответ