Foros del Web » Programación para mayores de 30 ;) » .NET »

Problemilla con los Web Control

Estas en el tema de Problemilla con los Web Control en el foro de .NET en Foros del Web. Buenos días señores, Resulta que estoy desarrollando una aplicación en C# que consta de una Master.Page donde yo llamo a unos Controles que he creado. ...
  #1 (permalink)  
Antiguo 02/11/2009, 03:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 42
Antigüedad: 15 años
Puntos: 1
Problemilla con los Web Control

Buenos días señores,

Resulta que estoy desarrollando una aplicación en C# que consta de una Master.Page donde yo llamo a unos Controles que he creado.

Por el momento tengo creados dos Web Control donde voy originando una estructura html en un string (por ejemplo un menú), mi problema es que mi aplicación tiene una hoja de estilos definida y dicho menú va dentro de una capa llamada "menu_opciones". Esa capa la creo en el ControlMenu.ascx y le pongo como id="menu_opciones" para que en la Master a la hora de llamar al control en el sitio específico me cree la capa "menu_opciones" y dentro la estructura html que he originado en el Web Control.

Mi problema es que cuando pinta la capa en la Master no la llama "menu_opciones" sino que me crea el siguiente id..." _ctl0_ControlMenu_menu_opciones" y claro, mi hoja de estilos no reconoce tal nombre de capa y no me lo pinta con ningún estilo.

Alguno tiene alguna idea o alguna solución para que me coja bien el nombre y no me ponga añadidos?

Muchas gracias.
  #2 (permalink)  
Antiguo 02/11/2009, 11:21
Avatar de eperedo  
Fecha de Ingreso: septiembre-2009
Ubicación: Perú
Mensajes: 654
Antigüedad: 14 años, 7 meses
Puntos: 16
Respuesta: Problemilla con los Web Control

Con capas te refieres a div o asp:Panel?
En una ocasión hice algo parecido, tenía un Panel al que quería agregarle un estilo, ya que los Panels renderizan en div, lo hice de esta forma para obtener el id luego de la renderización.
<style type="text/css">
div#<%=Panel1.ClientID %> //ClientID devuelve el nombre feo ctl0_webcontrol etc....
{
background-color:aqua;
}
</style>

Otra alternativa sería que crees un estilo especial para ese control y se lo asignes en la propiedad class o CssClass

<style type="text/css">
.menu_opciones
{
font-family:Symbol;
}
</style>

y en el html <div class="menu_opciones"></div>
o <asp:Panel id="panel1" runat="server" CssClass="menu_opciones"/>

Ojalá te sirva de ayuda
__________________
Eduardo Peredo
Wigoin
  #3 (permalink)  
Antiguo 03/11/2009, 06:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 42
Antigüedad: 15 años
Puntos: 1
Respuesta: Problemilla con los Web Control

Bueno lo he resuelto no creando la capa en el control y en vez de hacer referencia en a ella en el page_load como estaba haciendo, uso el override void Render y de esta forma no tengo que crearme ninguna capa en el ascx.

La capa la pongo en la Master y dentro llamo al control y lo pinta correctamente.


Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:35.