riassegnare il valore al parametro della stringa di query
-
09-06-2019 - |
Domanda
Ho un parametro della stringa di query "showhall" nell'URL, il parametro viene aggiunto dinamicamente quando si fa clic sul pulsante "Mostra tutto/Mostra pagine".
Desidero la possibilità di attivare/disattivare il valore del parametro della stringa di query "mostra" a seconda del clic dell'utente sul pulsante "Mostra tutto/Mostra pagine".
Sto facendo alcuni "se" nidificati e string.Replace()
sull'URL, esiste un modo migliore?
Tutte le manipolazioni vengono eseguite sul server.
p.s. Toran, buon suggerimento, tuttavia DEVO UTILIZZARE IL PARAMETRO URL a causa di altri problemi.
Soluzione
Giusto per approfondire la risposta di Toran:
Utilizzo:
<asp:HiddenField ID="ShowAll" Value="False" runat="server" />
Per cambiare il tuo stato:
protected void ToggleState(object sender, EventArgs e)
{
//parse string as boolean, invert, and convert back to string
ShowAll.Value = (!Boolean.Parse(ShowAll.Value)).ToString();
}
Altri suggerimenti
Un'altra sporca alternativa potrebbe essere semplicemente quella di utilizzare un input nascosto e attivarlo/disattivarlo invece di manipolare l'URL.
Sarebbe uno sforzo eccessivo solo avere il valore codificato nell'URL (so che non è troppo carino) con un valore predefinito o true, quindi basta
booleanVar = !booleanVar;
eseguito a ogni caricamento della pagina?
Almeno questo allontanerebbe la necessità di avere se nidificati per manipolare l'URL.
Non sono sicuro in base alla domanda, ma non è qui Gestori HTTP venire in soccorso?In questo caso non dovresti gestire l'alterazione variabile sull'oggetto prima del rendering della pagina?