Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2013, 04:42
antsuapli
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Menu en Aplicación sin MasterPage

Hola a todos.


Estoy trabajando ahora con una aplicación bastante antigua, que funciona con el framework 1.1.4. Para la generación del menú principal de cada usuario, se utiliza un componente antiguo, CYBERAKT.WebControls.Navigation. Al logarse el usuario se construye el menu dinamicamente, y se renderiza el control (RenderControl), guardando el contenido en una variable jasvascript global, que se muestra en todas las paginas. De esta manera no hay que regenerar el menu del usuario cada vez que se cambia de pagina.

Ahora quiero pasar la aplicación a una versión actual de .NET, pero estoy teniendo problemas y no se como hacerlo. Si hubiera un master.page no habria problemas, creaba el menú ahí y ya se mostraba en todas las paginas.

Para no tener que modificar toda la aplicación, estoy intentando usar otro componente de forma parecida como hasta ahora se hacía. He realizado diferentes pruebas, con el control ASP:MENU, con el menu de la libreria de pago EssentialObject....En todos ellos he hecho lo mismo, declaro el objeto menu en el aspx, y luego desde el servidor relleno dinamicamente el menú. Una vez lo tengo, llamo a RenderControl, pero siempre obtengo el mismo error:

El control XXXX de tipo 'Menu' debe colocarse dentro de una etiqueta de formulario con runat=server

No se porque me pasa siempre esto, no se si es que no se puede llamar a RenderControl sobre estas clases, o si hago algo mal.

Añado parte del código.
Parte aspx:
<form id="form1" runat="server">
<asp:Menu ID="MenuPrincipal" runat="server"
Orientation="Horizontal">
</asp:Menu>
.......................

Parte cs:
StringBuilder result = new StringBuilder(1024); MenuPrincipal.RenderControl(new HtmlTextWriter(new StringWriter(result)));



Si conocéis alguna alternativa acepto sugerencias, estoy algo verde con los menu de asp.net

Saludos