是否有提交表格但是仍然在页面上?
现在我正在显示一个对象表,但每行都有一个可编辑的值,每行都有自己的Ajax表单,但是当我点击更新按钮时,它会转到方法,但整个页面都会改变。
答案 0 :(得分:7)
是否有提交表格但是仍然在页面上?
当然,您可以使用AJAX:
@using (Html.BeginForm())
{
... some form input fields
<input type="submit" value="Go" />
}
然后在一个单独的文件中不引人注意地AJAX化这个表单:
$(function() {
$('form').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// TODO: handle the results of the AJAX call
}
});
return false;
});
});
并且为了避免编写所有这些javascript代码,您可以查看优秀的jquery.form plugin:
$(function() {
$('form').ajaxForm(function(result) {
// TODO: handle the results of the AJAX call
});
});
另一种方法是使用ASP.NET MVC 3 Ajax.BeginForm帮助程序:
@using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "success" }))
{
... some form input fields
<input type="submit" value="Go" />
}
然后在javascript中有一个成功处理程序:
function success(result) {
// TODO: handle the results of the AJAX call
}
如果您想使用jquery.unobtrusive-ajax.js
帮助,还需要在jquery
之外添加Ajax.*
脚本。