J'ai travaillé dans un .NET Framework 4 projet de serveur à l'aide des balises comme <%=quelle que soit %> pour définir la visibilité de runat="server" contrôle, comme suit:
<div id="MyId" runat="server" visible="<%=MyVisiblePropertyOnCodeBehind %>" >
Content
</div>
Cela fonctionne sur le cadre 4, mais maintenant, essayer de l'utiliser sur un Framework 3.5 projet, il ne semble pas fonctionner. Est-ce un Framework 4 seule fonctionnalité? Est-il plus cool (et .aspx côté) alternative à la définition de la visibilité depuis le code-behind? Je suis à l'aide de la vilaine:
MiId.Visible = MyVisiblePropertyOnCodeBehind
Merci d'avance,
Tom
[ÉDITÉ] SOLUTION:
Merci pour vos commentaires qui me fait comprendre mon problème et de la solution!
C'était de ma faute en plus d'une chose.
Dans le VS2010 projet, nous avons été à l'aide de <%# au lieu de <%=
Aussi, je n'ai pas d'avis que, dans le VS2010 projet, nous avons été à l'aide de pages hérité de pas de "Page", mais à partir d'un CustomPage classe, qui faisait la liaison automatiquement, sans me remarquer, et qui me fait penser que c'était un Framework 4.0 seule caractéristique.
Comme vous l'a dit ici, si vous avez le balisage suivant:
<div id="MyId" runat="server" visible="<%# MyVisiblePropertyOnCodeBehind %>" >
Content
</div>
vous pouvez le faire fonctionner, ajoutant ce qui suit à la codebehind:
public bool MyVisiblePropertyOnCodeBehind = true;
protected void Page_Load(object sender, EventArgs e) {
DataBind();
// Or if you want only for one control, MyId.DataBind();
}
Comme je l'ai lu, ce DataBind() peut réduire les performances de l'application. Avez-vous idée de combien? Cela pourrait-il être compris comme un "professionnel" de la technique pour être utilisé sur les gros projets, ou pensez-vous qu'il devrait être évité?
J'aime la façon dont il fait de balisage lisible et facile à comprendre en un seul point de vue, mais je ne voudrais pas être coupable de la lenteur de code parce que.