Вы пытаетесь изменить это в действии POST?Если вы заметили, что помощники HTML, такие как TextBoxFor
, сначала будут читать данные из состояния модели, а затем из модели.Поэтому, если ваше действие публикации выглядит следующим образом:
[HttpPost]
public ActionResult Index(SomeViewModel model)
{
model.Object1.Name = "some new value";
return View(model);
}
, вам нужно удалить его из состояния модели, или вы всегда получите старое значение:
[HttpPost]
public ActionResult Index(SomeViewModel model)
{
ModelState.Remove("Object1.Name");
model.Object1.Name = "some new value";
return View(model);
}
Если вы делаете это вДействие GET: не должно быть никаких проблем с отображением значения:
public ActionResult Index()
{
var model = new SomeViewModel
{
Object1 = new TypeOfObject1
{
Name = "foo bar"
}
};
return View(model);
}
, а затем в представлении:
<%= Html.TextBoxFor(x => x.Object1.Name) %>
должно отображать правильное значение.