reatribuir valor ao parâmetro de string de consulta
-
09-06-2019 - |
Pergunta
Eu tenho um parâmetro de string de consulta "showall" no URL, o parâmetro está sendo adicionado dinamicamente quando o botão "Mostrar tudo/Mostrar páginas" é clicado.
Desejo poder alternar o valor do parâmetro da string de consulta "showall", dependendo do usuário clicar no botão "Mostrar tudo/Mostrar páginas".
Estou fazendo alguns "se" aninhados e string.Replace()
na URL, existe uma maneira melhor?
Todas as manipulações são feitas no servidor.
p.s. Toran, boa sugestão, porém TENHO QUE USAR O PARÂMETRO DE URL devido a alguns outros problemas.
Solução
Apenas para elaborar a resposta de Toran:
Usar:
<asp:HiddenField ID="ShowAll" Value="False" runat="server" />
Para alternar seu estado:
protected void ToggleState(object sender, EventArgs e)
{
//parse string as boolean, invert, and convert back to string
ShowAll.Value = (!Boolean.Parse(ShowAll.Value)).ToString();
}
Outras dicas
Outra alternativa suja poderia ser apenas usar uma entrada oculta e ativá-la/desativá-la em vez de manipular o URL.
Seria muito trabalhoso apenas ter o valor codificado na URL (eu sei que não é muito bom) com um valor padrão ou verdadeiro, então basta ter
booleanVar = !booleanVar;
executado em cada carregamento de página?
Pelo menos isso afastaria a necessidade de ifs aninhados para manipular a URL.
Não tenho certeza com base na pergunta, mas não é aqui que Manipuladores HTTP veio ao resgate?Você não deveria lidar com a alteração da variável no objeto antes da renderização da página neste caso?