Desenvolvimento - ASP. NET
ASP.NET 2.0 - Criando um PostBack
Nesse artigo vamos utilizar o método GetPostBackEventReference em conjunto com classe PostBackOptions que vai nos retornar o código JavaScript responsável pelo envio do PostBack para o servidor.
por Ramon Durães
Artigo recomendado para Visual Studio 2005
O ASP.NET mudou o conceito dos tradicionais
links que apontavam para uma página de destino e agora passaram a realizar "PostBack"
enviando a página para o servidor e gerando um evento que é tratado no código.
Com esse recurso, os controles do ASP.NET tem suporte nativo ao modelo de
eventos. Esse artigo vai esclarecer esse recurso para você que deseja criar
um componente ou um novo link dinamicamente e precisa gerar um PostBack e
manter a persistência da página.
{ { // Exemplo para HyperLink //Exemplo para Link href em html Page.Controls.Add(new LiteralControl("<a href=" + RetornaPostBackUrl("Dinamico", false) + ">Link html com postback</a>")); } #region IPostBackEventHandler Memberspublic void RaisePostBackEvent(string eventArgument) { if (eventArgument.StartsWith("#Post#")) { Label1.Text = "PostBack:" +eventArgument + " em " + System.DateTime.Now.ToString(); } } #endregion protected string RetornaPostBackUrl(String Parametro, bool ValidarCampos) { PostBackOptions myPostBackOptions = new PostBackOptions(this); myPostBackOptions.AutoPostBack = false; myPostBackOptions.RequiresJavaScriptProtocol = true; myPostBackOptions.PerformValidation = ValidarCampos; myPostBackOptions.Argument = "#Post#" + Parametro; return Page.ClientScript.GetPostBackEventReference(myPostBackOptions); } } Listagem 01 - Código para realização de PostBackConferindo a Listagem 01 você vai observar um exemplo muito simples e de fácil compreensão que pode ser utilizado em todas situações. Primeiro adicionamos a interface System.Web.UI.IPostBackEventHandler a nossa classe que nos obriga a implementar o método RaisePostBackEvent. Toda vez que o usuário clicar em nosso link(com postback), vai ser disparado esse método no servidor. Depois criamos o método RetornaPostBackUrl que tem objetivo apenas de facilitar a utilização do GetPostBackEventReference e da classe PostBackOptions. Finalmente no método Page_Load você vai conferir dois exemplos, primeiramente usando HyperLink e posteriormente utilizando o próprio link do html. |
|
Finalizando |
Depois de
receber vários e-mails, resolvi tocar esse assunto que apesar de ser
simples ainda é pouco utilizado. Creio que a partir de agora, muitos links
serão modificados. |