Я использую помощник Ajax.BeginForm в ASP.NET MVC3 для отправки формы, которая заменяет себя новыми значениями в форме, установленной на сервере.Однако, когда я использую помощники, такие как Html.TextBox, я получаю отправленные значения, а не значения, которые я вставил в модель на сервере.
Например;Я установил для SomeValue значение 4 и отобразил его в текстовом поле.Я изменяю значение на 8, нажимаю «отправить» и ожидаю, что значение изменится на 4 в текстовом поле, но по какой-то причине оно останется 8. Но если я вывожу SomeValue без использования помощников Html, он говорит 4. Кто-нибудь знает, чточто происходит?
Мой контроллер:
public ActionResult Index(HomeModel model)
{
model.SomeValue = 4;
if (Request.IsAjaxRequest())
return PartialView(model);
return View(model);
}
public class HomeModel
{
public int? SomeValue { get; set; }
}
My View (пожалуйста, не надо, чтобы у меня был весь необходимый javascript на моей странице макета):
<div id="ajaxtest">
@using(Ajax.BeginForm(new AjaxOptions{ InsertionMode = InsertionMode.Replace,
UpdateTargetId = "ajaxtest", HttpMethod = "Post" })) {
@Html.TextBoxFor(model => model.SomeValue)
<input type="submit" value="Update" />
}
</div>