什么是使用JQuery Ajax和ASP.Net Mvc的正确模式?

我对Mvc框架以及JavaScript和JQuery都很陌生。 我想了解构buildAjax调用的正确方法。

假设我有一个类似于你在StackOverflow上看到的“Vote Up”button。 当用户点击它时,我需要更新数据库中的投票计数并将新值返回给用户界面。 目前我通过在“PostsController”上使用一个名为“VoteUp”的操作来实现这一点,该操作以“int postID”作为参数。

public PostsController : Controller { public ActionResult VoteUp(int postId) { //Increment Post Vote Count return Json(voteCount); //Return just the new vote count as a JSon result. } } 

然后通过调用url“ http://mydomain.com/posts/voteUp?postId=5 ”通过ajax调用这个方法。 然后我用新的值返回一个JSon ActionResult来更新UI。

这是实施这个的正确方法吗? 同样,我对javascript和jquery都是全新的。 我习惯于在asp.net webforms中单击事件处理程序。 任何指导将不胜感激。

是的,这听起来像是你正确的。

但是,请注意,如果将postId更改为Id,则可以使用以下URL进行调用:

http://example.com/posts/voteUp/5

(使用默认路由。)这是一个个人喜好的问题。

我会用jQuery和JsonResult控制器来解决这个问题。 你的jQuery代码会调用JsonResult,将相关信息传递给模型代码来处理添加新的投票。 我在http://www.dev102.com/2008/08/19/jquery-and-the-aspnet-mvc-framework/上写了一个关于类似概念的简短教程;