2010-12-28 9 views
1

J'utilise asp.net mvc 3 et jquery.Créer un système de vote Ajax

Je veux mettre en place un système de commentaires sur mon site avec la possibilité de voter et de rejeter les commentaires. Je veux que le vote se fasse via Ajax (sans redirection). Il devrait mettre à jour le votecount et empêcher d'autres votes sur ce commentaire. Quelqu'un peut-il expliquer comment je peux le faire. Quelles fonctions jquery dois-je appeler et comment les utiliser?

Merci

+0

double possible de [? Comment créer le scrutin majoritaire de stackoverflow comme jquery/ajax fonction] (http://stackoverflow.com/ questions/2659904/how-to-create-stackoverflows-post-vote-comme-jquery-ajax-function) – outis

Répondre

1

Votre question est très large. Vous pouvez utiliser la fonction $.ajax() d'envoyer une requête AJAX à une action de contrôleur qui mettrait à jour le décompte des voix dans la base de données donné une id question:

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

Il est évident que l'action du contrôleur doit vérifier si l'utilisateur actuellement connecté hasn » t déjà mis en cause cette question.

0

Vous pouvez concevoir un gestionnaire générique (.ashx) pour traiter la base de données et l'appeler en utilisant l'appel ajax. Par exemple:

[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 
} } 

Appelez maintenant la méthode Ajax appel

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

Vous pouvez aussi vérifier le statut de l'utilisateur actuellement connecté comme Upvoted ou non dans les fichiers .ASHX. – Nirmal

+0

Trois sont beaucoup mieux façons de créer un service web ajax dans ASP.NET MVC. Un gestionnaire générique ne doit pas être utilisé. –