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.
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 QueryString 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:
Assim finalizo o artigo. Muito obrigado a todos!
Um abraço, e até o próximo artigo.