none
Asignar o modificar un estilo CSS a un control HTML RRS feed

  • Pregunta

  • Hola, mi tema es muy simple,

    ¿Cómo puedo asignar o modificar un estilo CSS con C# en una App ASP.NET?

    Ejemplo:

    Tengo este documento *.aspx:

    <head>
    </head>
    <body>
       <section>
       <section>
    </body>

    y este estilo *.css

    section {
       background-color:#000;
       width:200px;
    }

    Simplemente quisiera cambiar estos estilos del tag <section> a:

    section {
       background-color:#FFF;
       width:400px;
    }

    pero necesito hacer lo código del servidor, espero me halla explicado bien =) gracias de antemano

    • Cambiado webJoseModerator jueves, 29 de noviembre de 2012 14:12 (De:Lenguaje C#)
    jueves, 29 de noviembre de 2012 6:30

Todas las respuestas

  • el tema es que el css no lo modificas, simplemente lo cambias por otro diferente cuando la logica de la aplciacion lo requiere

    el tag <section> tiene seguramente uan propiedad class que puedas cambiar, o sea no definas un estilo con el nombre del tag, define

    Using Style Classes and IDs

    entonces harias

    <style>

    .section1 {
       background-color:#000;
       width:200px;
    }

    .section2 {
       background-color:#FFF;
       width:400px;
    }

    </style>

    tienes siempre los dos estilos definidos, usando

    <section class="section1">

    bien el tema es ahora como desde c# puedes cambiar ese class de tag, el problema es que no es un control del lado del servidor, se podria probar usando

    <section id="section1" runat="server" class="section1">

    si esto funciona, harias

    section1.Attributes["class"] = "section2";

    cambianbdo el estilo que ya tenias definido

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    jueves, 29 de noviembre de 2012 7:35
  • Buena solución, esto me sirve igual.

    Pero en otro caso debo ir cambiando dinámicamente el ancho de un DIV respecto a una formula, algo como esto:

    int width = 500; for(int i=1; i<=N; i++) { Int Contador = 0; Contador = Contador + 1; if(Contador == 3) { width = width + 130;

    Contador = 0;

    } }

    En este código vamos aumentando dinámicamente una variable para un ancho de un div o tag de HTML, la idea es luego del conteo, asignar este valor en pixeles a un atributo del tag correspondiente. ¿Se podrá de esa manera, o me podrían proponer una solución?

    viernes, 30 de noviembre de 2012 3:20
  • Eso que muestra parece ser C#.  ¿No sería mejor que fuera un JavaScript?  Resultaría en una animación.  Pero bueno si tiene que ser en el lado de servidor simplemente use la propiedad Width del control (si es que es un control de webforms), o bien use idDeSeccion.Attributes["style"] = String.Format("width: {0}px", width); para elementos HTML con el atributo runat="server".

    Finalmente le hago notar que su bucle FOR puede ser reemplazado por una operación matemática simple:

    int width = 500 + 130 * (N / 3);

    Asumo que esa es la intención del bucle, que tiene un error:  La variable contador debe declararse fuera del bucle o de lo contrario nunca sumará nada a width.


    Jose R. MCP
    Code Samples


    viernes, 30 de noviembre de 2012 6:54
    Moderador