Setzen Sie die Visible-Eigenschaft mit dem Server-Tag & lt;% =% & gt; in Rahmen 3.5

Arbeite ich in einem .NET Framework 4 Projekt mithilfe des server-tags wie <%=was %>, um die Sichtbarkeit von runat="server" steuert, wie die folgenden:

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

Dies funktioniert auf framework 4, aber jetzt versuchen, diese auf ein Framework 3.5 Projekt-es nicht zu funktionieren scheint. Ist das ein Framework 4 nur Funktion? Gibt es eine coolsten (und .aspx-Seite) alternative zur Einstellung der Sichtbarkeit von codebehind? Ich bin mit dem hässlich:

    MiId.Visible = MyVisiblePropertyOnCodeBehind

Vielen Dank im Voraus,

Tom

[BEARBEITET] - LÖSUNG:

Danke für Eure Kommentare, das macht mich versteht mein problem und die Lösung!!!

War es mein Fehler, in mehr als einer Sache.

In der VS2010-Projekt waren wir mit <%# anstelle von <%=

Auch, habe ich nicht bemerkt, dass in der VS2010-Projekt waren wir mit Seiten vererbt sich nicht von "Seite", sondern von einer CustomPage-Klasse, dass war die Bindung automatisch, ohne mich zu bemerken, und das macht mich denke, das war ein Framework 4.0-Funktion nur.

Als Sie hier erzählt, wenn Sie das folgende markup:

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

können Sie damit es funktioniert, indem die folgenden, um die codebehind:

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

Als ich gelesen habe, diese DataBind() kann verringern die Leistung der Anwendung. Haben Sie eine Vorstellung, wie viel? Könnte dies so verstanden werden, als eine "professional" - Technik verwendet werden, bei großen Projekten, oder denken Sie, es sollte vermieden werden?

Ich Liebe die Art, es macht markup lesbar und einfach zu verstehen, in einer einzigen Ansicht, aber ich möchte nicht schuldig sein slow-code da.

InformationsquelleAutor der Frage tomasofen | 2012-03-07

Schreibe einen Kommentar