Pregunta

Tengo un componente ascx, que contiene un menú de dos niveles, porque hay varios tipos de usuarios y el menú debe calcularse en el servidor.

De todos modos, también estoy destacando el elemento del menú actual en el servidor (agregando una clase / css seleccionada a un elemento). Resaltar con javascript no es una buena opción, ya que hay contenido en las áreas de datos, lo que provoca la devolución de datos y debe permanecer en el menú en la misma posición que el valor seleccionado. Así que hago esto como una especie de mapeo con una tabla hash (por ejemplo, pares (url-of-the-site, menu-item-to-highlight)), y tengo que incluir un mapeo para cada sitio que contiene mi aplicación web en Por eso, quiero resaltar los menús ... así que de alguna manera me molesta que tenga que haber una mejor manera de hacerlo. ¿Hay mejores técnicas?

¿Fue útil?

Solución

Una técnica que utilizo en mi página maestra / páginas de contenido con .NET 2.0 es tener un método accesible al público llamado " SetNavigation " toma un carácter de cadena que se correlaciona con el control de hipervínculo que quiero resaltar. Lo que hace el método es configurar la hoja de estilo CSS del hipervínculo especificado a mi " seleccionado " uno.

Luego, en mis páginas secundarias, en el método de carga de página, llamo al método SetNavigation y paso el enlace según la página actual en la que estoy, como SetNavigation (" hypSearch ")

Supongo que podría crear un control similar en su control ASCX y luego hacer que sus eventos Page_Load, o incluso los eventos de clic de botón, llamen al método si así lo desean.

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