【发布时间】:2017-08-04 12:32:26
【问题描述】:
我正在使用 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 成功中我们可以手动更新元素值,但我想在控制器部分实现这一点并使用新值更新模型。
【问题讨论】:
-
为什么要发送ajax调用,只做普通形式的post
-
您的模型正在控制器中更新(
Id的值是1是 POST 方法)。如果您想更新文本框,请使用 javascript,或者使用您在成功回调中返回的视图更新 DOM -
不,我需要 ajax 调用用于其他目的
-
@StephenMuecke,这里的示例我直接给出了 1,但在实际情况下,它会因其他一些操作而改变
-
如果要返回整个视图,使用 ajax 毫无意义!
标签: c# jquery ajax asp.net-mvc forms