Pregunta

Tengo un parámetro de cadena de consulta "mostrar" en la URL, el parámetro se agrega dinámicamente cuando se hace clic en el botón "Mostrar todo/Mostrar páginas".

Quiero poder alternar el valor del parámetro de cadena de consulta "mostrar todo" dependiendo de si el usuario hace clic en el botón "Mostrar todo/Mostrar páginas".

Estoy haciendo algunos "si" anidados y string.Replace() en la URL, ¿hay alguna manera mejor?

Todas las manipulaciones se realizan en el servidor.

PD. Toran, buena sugerencia, sin embargo, TENGO QUE USAR EL PARÁMETRO URL debido a otros problemas.

¿Fue útil?

Solución

Solo para dar más detalles sobre la respuesta de Toran:

Usar:
<asp:HiddenField ID="ShowAll" Value="False" runat="server" />

Para alternar su 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();
}

Otros consejos

Otra alternativa sucia podría ser simplemente usar una entrada oculta y activarla o desactivarla en lugar de manipular la URL.

¿Sería demasiado esfuerzo simplemente tener el valor codificado en la URL (sé que no es muy agradable) con un valor predeterminado o verdadero?

booleanVar = !booleanVar;

ejecutar en cada carga de página?

Al menos eso alejaría la necesidad de tener if anidados para manipular la URL.

No estoy seguro según la pregunta, pero ¿no es aquí donde? Controladores HTTP ¿ven al rescate?¿No deberías manejar la alteración variable en el objeto antes de renderizar la página en este caso?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top