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 parecida com 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, como mostra a Figura 01:
Figura 01 – Exemplo com QueryString
Experimente alterar o parâmetro e dar Enter na barra de endereços, veja o resultado na Figura 02:
Figura 02 – Alteração de parâmetro e resultado na QueryString
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 QueryString para que as mesmas sejam exibidas concatenadas pela Label. Compile novamente a aplicação, clique no HyperLink e veja o resultado na Figura 03:Figura 03 – QueryString sendo exibida contida dentro de uma lista de QueryString’s
Para melhor entendimento concatene na URL três valores e veja o resultado final, na Figura 04:Figura 04 – Valores diversos concatenados na QueryString
Disponibilizo o cĂłdigo-fonte desse projeto clicando aqui.
Assim finalizo o artigo. Muito obrigado a todos!