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

36

我对Mvc框架、JavaScript和JQuery都非常新手,正在尝试了解正确的Ajax调用方式。

假设我有一个类似于StackOverflow上看到的投票按钮。当用户单击它时,我需要更新数据库中的投票计数并将新值返回给UI。目前,我通过在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://example.com/posts/voteUp?postId=5",通过ajax调用此方法。 然后返回一个新的JSon ActionResult值,以更新UI。

这是正确的实现方式吗? 我完全不了解javascript和jquery。 我习惯于在asp.net webforms中将所有内容都作为点击事件处理程序来完成。 欢迎任何指导。


很好的问题,ASP.NET-MVC包括ASP.NET AJAX,但jquery也支持ajax,了解它们是否有交互将会很有趣。 - AnthonyWJones
2个回答

12

是的,听起来你大致正确。

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

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

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


1
我会使用JsonResult而不是标准的ActionResult。你可以简单地返回voteCount; - Ryan Lanciaux

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接