Establezca la propiedad visible con la etiqueta del servidor <% =%> en Framework 3.5

He estado trabajando en un proyecto de .NET Framework 4 usando etiquetas de servidor como <% = whatever%> para establecer la visibilidad de los controles runat = "server", como los siguientes:

  <div id="MyId" runat="server" visible="<%=MyVisiblePropertyOnCodeBehind %>" >
    Content
  </div>

Esto funciona en el marco 4, pero ahora tratando de usar esto en un proyecto de Marco 3.5 no parece funcionar. ¿Es esta una característica única de Framework 4? ¿Existe una alternativa más genial (y lado .aspx) para configurar la visibilidad desde el código subyacente? Estoy usando lo feo:

    MiId.Visible = MyVisiblePropertyOnCodeBehind

Gracias por adelantado

Tom

SOLUCIÓN [EDITADA]:

¡Gracias por sus comentarios que me hacen entender mi problema y la solución!

Fue mi culpa en más de una cosa.

En el proyecto VS2010 estábamos usando <% # en lugar de <% =

Además, no me di cuenta de que en el proyecto VS2010 estábamos usando páginas heredadas no de "Página", sino de una clase CustomPage, que estaba haciendo el enlace automáticamente, sin que me diera cuenta, y eso me hace pensar que era un Marco 4.0 solo característica.

Como usted dijo aquí, si tiene el siguiente marcado:

  <div id="MyId" runat="server" visible="<%# MyVisiblePropertyOnCodeBehind %>" >
    Content
  </div>

puede hacerlo funcionar, agregando lo siguiente al código subyacente:

    public bool  MyVisiblePropertyOnCodeBehind = true;
    protected void Page_Load(object sender, EventArgs e) {
        DataBind();
        // Or if you want only for one control, MyId.DataBind();             
    }

Mientras leo, este DataBind () puede reducir el rendimiento de la aplicación. ¿Tienes idea de cuánto? ¿Podría entenderse esto como una técnica "profesional" para ser utilizada en grandes proyectos, o cree que debería evitarse?

Me encanta la forma en que hace que el marcado sea legible y fácil de entender en una sola vista, pero no me gustaría ser culpable de código lento porque eso.

Respuestas a la pregunta(8)

Su respuesta a la pregunta