Phi*_*hil 1 c# asp.net jquery asp.net-mvc-3
我已经看到了几种关于如何做到这一点的方法.我喜欢自己的方法,除了一个部分,如下:
收集数据并构建json
对象
var objToSend = { Property : $('#propertyField').val(), Property2 : ... };
Run Code Online (Sandbox Code Playgroud)
这是我不喜欢的部分,因为收集这样的25个值是很乏味的
调用$.ajax({})
并指定url以指向[HttpPost]
某处的已启用操作
除了收集阶段,我喜欢这种方法.我相信有这样做的更好的办法,但我心中已经抛出自己一头扎进了jquery
来自未来ASP.NET
的WebForms背景使整个"拥抱网络"的一部分是完全陌生.
您可以使用该serialize()
方法来避免逐个传递所有字段.它将使用application/x-www-form-urlencoded
内容类型将整个表单数据发送到服务器,就像它是标准表单提交一样:
$('#myform').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// TODO: handle the success case
}
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
另一种可能性是jQuery表单插件:
$('#myform').ajaxForm(function(result) {
// TODO: handle the success case
});
Run Code Online (Sandbox Code Playgroud)
有些人发现使用Ajax.BeginForm
帮助器渲染表单也很有用:
@using (Ajax.BeginForm(new AjaxOptions { OnSuccess = "success" }))
{
... some input fields
}
Run Code Online (Sandbox Code Playgroud)
在ASP.NET MVC 3中,您需要包含一个jquery.unobtrusive-ajax.js
脚本,该脚本不显眼地data-*
AJAX化Ajax帮助程序发出的HTML 5 属性.
归档时间: |
|
查看次数: |
2295 次 |
最近记录: |