我正在寻找一个教程,展示如何调用MVC动作并传递参数。 我有一个动态的“评论框”,我需要保存到数据库。 我想使用jQuery将注释数据发送到将处理它的REST方法。
我还需要使用MVC操作返回的数据刷新页面的一部分。 数据以JSON形式返回。
我见过Scott Guthrie的tutoral,但是使用了回发。 我需要通过jQuery进行异步通信。
非常简单和小的教程非常有用。
由于
修改
我将使用jQuery的$.ajax()
次调用
答案 0 :(得分:2)
假设您的视图中有一个表单,允许用户发表评论:
@using (Html.BeginForm("Save", "Comment", FormMethod.Post, new { id = "commentForm" }))
{
@Html.TextAreaFor(x => x.Comment)
<input type="submit" value="Comment" />
}
<div id="result"></div>
你可以使用jQuery AJAXify:
$(function() {
$('#commentForm').submit(function() {
$.ajax({
url: this.action,
type: this.method,
data: $(this).serialize(),
success: function(result) {
// refresh some part of the DOM based ion the result
$('#result').html(result.someProperty);
}
});
return false;
});
});
和一个控制器动作,它将保存注释并返回一个可以在成功回调中使用的JSON对象:
[HttpPost]
public ActionResult Save(string comment)
{
// TODO: save the comment
return Json(new { someProperty = "some value" });
}
和here's a tutorial关于ASP.NET MVC 3和jQuery的渐进增强。