ASP.NET MVC3'teki Ajax.BeginForm yardımcı programını kullanarak formda yeni değerlerle değiştiren bir form göndermek için kullanıyorum sunucuda ayarlayın. Ancak Html.TextBoxFor gibi yardımcıları kullandığımda, sunucudaki modele eklediğim değerleri değil, gönderilen değerleri alıyorum.ASP.NET MVC 3 Ajax.BeginForm ve Html.TextBoxFor sunucuda yapılan değişiklikleri yansıtmıyor
Örneğin; İşlemimde 4'e SomeValue ayarlayıp bir metin kutusunda gösteriyorum. Değeri 8 olarak değiştiririm, gönderim gönderir ve metin kutusundaki değerin 4'e geri dönmesini beklerdim, fakat bir nedenden ötürü 8 kalır. Ancak, Html yardımcılarını kullanmadan SomeValue çıkarırsam 4. derler. ne oluyor?
Benim denetleyicisi:
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 (Benim düzeni sayfasında tüm gerekli javascript yok olduğunu lütfen):
<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>