/ / asp.net - implémentation des notifications utilisateur - jquery, asp.net

asp.net - implémentation des notifications utilisateur - jquery, asp.net

J'ajoute une barre de notification de type stackoverflow-esq sur mon site. Du côté du serveur, j'ajoute des divs pour l'affichage:

for (int i = 0; i < dt.Rows.Count; i++ )
{
string script = "<div class="hover-notification" style="display:none;">";
script += dt.Rows[i]["messageText"].ToString();
if ((bool)dt.Rows[i]["canDismiss"] == false)
script += "<span class="dismiss"><a title="Dismiss notification">x</a></span>";
script += "</div>";
ClientScript.RegisterClientScriptBlock(this.GetType(), "clientScript" + i, script);

}

Le code côté client est:

$(document).ready(function () {
$(".hover-notification").prependTo("body").slideDown("slow");
$(".dismiss").click(function () { $(this).parent().slideUp("slow").remove(); });
});

J'ai une table qui contient tous les messagespour tous les utilisateurs et a une clé primaire messageID. Des messages sont ajoutés à la table pour certains événements, et les messages qui ne peuvent pas être rejetés sont supprimés dans d'autres événements. Ce que je veux faire, c'est marquer le message comme rejeté lorsque l'utilisateur clique sur le bouton de renvoi.

Je ne sais pas comment faire cela. Est-ce que quelqu'un pourrait me diriger dans la bonne direction?

p.s. Je suis également ouvert à tout commentaire sur le code côté serveur / côté client que j’ai jusqu’à présent.

Réponses:

1 pour la réponse № 1

Si je comprends vos besoins, vous voulez approuver le renvoi côté serveur.

Essayez:

$(".dismiss").click(function () {
$(this).parent().slideUp("slow").remove();
// ajax request to server
$.get("dismiss.asp?id="+this.id);
});

Ce que vous avez à faire est de créer ce licenciement.asp recevant un identifiant fraîchement poussé sur le:

<a id="123" class="dismiss">x</a>

Est-ce que je réponds à votre question?


1 pour la réponse № 2

Ajoutez le service de repos WCF à votre projet et définissez un contrat d’exploitation ressemblant à ceci:

(Pseudo)

 [OperationContract]
[WebGet(UriTemplate = "MyService/DismissMessage({x})")]
public bool DismissMessage(int id) {
var success = MyLibrary.DismissMessage(id);
return success;
}

Dans jQuery, appelez simplement votre service WCF comme suit:

$.getJSON("MyService/DismissMessage("+messageId+")", function(data) {
// do something on success or fail
}

Pour en savoir plus, je vous suggère de vérifier cet article: http://www.codeproject.com/KB/ajax/jQueryWCFRest.aspx