[英]Model is not updated with ajax post in asp.net mvc?
我正在使用asp.net mvc應用程序。 在我的查看頁面中,我有如下代碼所示的文本框:
@Html.TextBoxFor(m => m.Id, new { @class = "form-control", @readonly = "readonly" })
另外,在表單中提交ajax帖子,
$('#btnSubmit').click(function(e)
{
$.ajax({
url: '/button/Button',
type: 'POST',
data: {Id:1},
});
});
我的控制器:
MasterM empcode = new MasterM();
[HttpGet]
public ActionResult Button()
{
var empcode = new MasterM();
return View(empcode);
}
[HttpPost]
public ActionResult Button(MasterM model)
{
ModelState.Clear();
if (!ModelState.IsValid)
{
return View(model);
}
return View(model);
}
此表單提交后,文本框的值應更改為新值(1)。 我如何在控制器部分本身中實現這一目標。 我知道ajax成功后,我們可以手動更新元素值,但是我想在控制器部分實現這一點,並使用新值更新模型。
當您發布時,您只發送一個ID,而不發送整個模型,因此基本上
public ActionResult Button(MasterM model) will be empty
並且由於您要返回空集,因此不會更新該文本框。
您可以在此處執行以下兩項操作:1)將接收類型修改為
Public ActionResult Button(int Id)
{
MasterM model = new MasterM();
model.Id = Id;
if (!ModelState.IsValid)
{
return View(model);
}
return View(model);
}
2)如果要將Model保留為Controller中的參數,則需要在Jquery中序列化數據並將其發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.