/ / asp.net - implementação de notificação do usuário - jquery, asp.net

asp.net - implementação de notificação do usuário - jquery, asp.net

Eu estou adicionando um tipo de barra de notificação stackoverflow-esq ao meu site. No lado do servidor estou adicionando divs para exibição:

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);

}

O código do lado do cliente é:

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

Eu tenho uma tabela que contém todas as mensagenspara todos os usuários e tem uma chave primária messageID. As mensagens são adicionadas à tabela em alguns eventos e as mensagens que não são dispensáveis ​​são removidas em outros eventos. O que eu quero fazer é marcar a mensagem como descartada quando o usuário clicar no botão de dispensar.

Eu não tenho certeza de como fazer isso. Alguém pode por favor me dizer a direção correta?

p.s. Eu também estou aberto a quaisquer comentários sobre o código do lado do servidor / cliente que tenho até agora.

Respostas:

1 para resposta № 1

Se eu entendi suas necessidades, você quer aprovar a dispensa no lado do servidor.

Experimentar :

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

O que você tem que fazer é criar este dismiss.asp recebendo um id recém-colocado no:

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

Estou respondendo a sua pergunta?


1 para resposta № 2

Adicione o WCF Rest-service ao seu projeto e defina um contrato de operação que se pareça com isto:

(Pseudo)

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

No jQuery, basta chamar seu serviço WCF da seguinte forma:

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

Para ler mais, sugiro que você verifique este artigo: http://www.codeproject.com/KB/ajax/jQueryWCFRest.aspx