Conceitos e Exemplo Prático: QueryString

Olá pessoal, neste artigo veremos os conceitos e a sintaxe para o uso de um recurso muito usado dentro do ASP.NET, que se chama QueryString. Acompanhem:

A QueryString é um modelo clássico de manutenção do estado da página. Elas são nada mais do que conjuntos de pares/valores anexados a URL, em diversos sites hoje em dia vemos o uso delas.

Seu uso é simples, após a URL de determinada página, adicionamos o primeiro valor usando a seguinte sintaxe: ?Chave=Valor. Para passarmos mais de um conjunto, os mesmos devem ser concatenados usando o caractere coringa &.

Para recuperarmos o valor na outra página, usamos o método Request.QueryString.

Para entendermos melhor isso, vamos criar uma nova aplicação web, dando a ela o nome ExemploQueryString. Nela, além da Default.aspx, adicione mais uma página, a Default2.aspx.

Na Default.aspx arraste um HyperLink para a tela e configure a propriedade NavigateUrl como a que o código abaixo nos mostra:


<asp:HyperLink ID="hypPagina2" Text="Ir para a página 2" runat="server" NavigateUrl="~/Default2.aspx?Parametro=Wellington" />

Na Default2.aspx arraste um Label para a página, dando o ID a ele de lblValorQueryString. Agora vá a página de códigos e, no evento Page_Load, coloque o seguinte método:


protected void Page_Load(object sender, EventArgs e)

{

string valor = Request.QueryString["Parametro"];

if (valor != null)

{

lblValorQueryString.Text = "Parâmetro: " + valor;

}

}

No código acima criei uma variável do tipo String, que recebe, por meio do método Request.QueryString, o valor do parâmetro, que nesse exemplo é Parametro. Depois verifico se esse é valor é diferente de nulo. Se for, a Label criada na aspx receberá o texto “Parâmetro: “, concatenado com a variável valor preenchida com a QueryString.

Compile o projeto, clique no HyperLink e veja o resultado:

Experimente alterar o parâmetro e dar Enter na barra de endereços:

Agora como teste comente o código do Page_Load e adicione o seguinte:


foreach (String item in Request.QueryString.Keys)

{

lblValorQueryString.Text += "Chave= " + item + " --> " + Request.QueryString[item] + "<br>";

}

Dessa forma faço um laço para percorrer uma lista de QueryStrings para que as mesmas sejam exibidas concatenadas pela Label. Compile novamente a aplicação, clique no HyperLink e veja o resultado:

Para melhor entendimento, concatene na URL três valores e veja o resultado:

Disponibilizo o código-fonte desse projeto clicando aqui.

Assim finalizo o artigo. Muito obrigado a todos!

Um abraço, e até o próximo artigo

Wellington Balbo de Camargo

wellingtonbalbo@gmail.com

Publicado em 27/09/2010, em .NET, ASP.NET, C# e marcado como , , , . Adicione o link aos favoritos. 12 Comentários.

  1. douglas souza

    cara muito bom bacana o blog continue assim welligton abraços.

  2. Muito obrigado Douglas, continuarei assim pode deixar hehe.

    Abraços cara.

  3. Brother muito bom mesmo viu, agora estou com bastante duvida aqui em uma parte
    estou tentando criar este programa Cadastro de Clientes, agora como eu faço
    para usar o banco de dados, só não estou conseguindo fazer isto, se vc poder me ajudar

    msn> samuel4022@hotmail.com

  4. Vitor Cesar

    Pow eu tava procurando tutoriais c# na internet e encontrei esse, to fazendo programação na faculdade e minha professora é pessima, o jeito é correr atrás se puder me add agradeço, vc parece manjar bastante do assunto =)

  5. Welligton, em vez de passar seu nome como valor do parametro eu queria que fosse o valor do textbox que o usuario digitou.
    Como faço?

    att,

    • Simples cara, é só passar o nome do TextBox, só que daí você passa no code-behind e não na aspx.

      Exemplo:

      hypPagina2.NavigateUrl = “~/Default2.aspx?Parametro=” + txtNome.Text;

      Abraços.

  6. Obrigado Wellington! É isso mesmo!

  1. Pingback: Criação do Projeto – Editando Dados no GridView – Parte 1 « Programando .NET

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Sair / Alterar )

Imagem do Twitter

You are commenting using your Twitter account. Sair / Alterar )

Foto do Facebook

You are commenting using your Facebook account. Sair / Alterar )

Connecting to %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 551 other followers