创建Ajax投票系统

时间:2010-12-28 11:52:41

标签: c# jquery asp.net-mvc

我正在使用asp.net mvc 3和jquery。

我想在我的网站上实施评论系统,能够进行投票和投票评论。我希望通过Ajax完成投票(无需重定向)。它应更新投票数并防止对该评论进一步投票。

有人可以解释我是如何做到的。我应该调用哪些jquery函数以及如何使用它们?

由于

2 个答案:

答案 0 :(得分:1)

你的问题很广泛。您可以使用$.ajax()函数向控制器操作发送AJAX请求,该操作会在给定问题ID的情况下将投票计数更新到数据库中:

$.ajax({
    url: '<%= Url.Action("VoteUp") %>',
    data: { questionId: 1234 },
    success: function(result) {
        alert('thanks for upvoting this question');
    }
});

显然,控制器操作应检查当前登录的用户是否尚未提出此问题。

答案 1 :(得分:0)

您可以设计一个通用处理程序(.ashx)来处理数据库并使用ajax调用来调用它。 例如:

[WebService(Namespace = "http://www.mysite.com/webservices")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class UpVote : IHttpHandler
{  public void ProcessRequest(HttpContext context)
    { 
       // Create this method to deal with your database
       MakeUpVote(context.Request["commentID"].tostring());   // Comment ID is the input
} }

现在通过Ajax调用

调用方法
$.ajax({
            url: "UpVote.ashx",
            type: "POST",
            data: ({ "commentID": commentID }),
            success: function(result) {
 alert ("You have upvoted");}
                    });