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.

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top