Announcement

Collapse
No announcement yet.

Ausdrücke in WebControls

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausdrücke in WebControls

    Hallo!

    Allgemein kann ich in einem ASP.NET-Formular Ausdrücke innerhalb von <%= %> auswerten lassen:
    Code:
    <td class='<%= "myclass" %>'>
    </td>
    Leider funktioniert das nicht innerhalb eines WebControls:
    Code:
    <asp:TableCell runat="server" CssClass='<%= "myclass" %>'>
    </asp:TableCell>
    Wie kann ich dafür sorgen, dass der Ausdruck auch im zweiten Fall ausgewertet wird?

    Ein Ansatz wäre vermutlich ein datengebundenes WebControl zu verwenden, dass einen <%# %>-Ausdruck auswertet. Allerdings sollte dieses Element von TableCell erben. Wie lässt sich das umsetzen?


    Vielen Dank,
    Jens

  • #2
    Hallo!

    Ich habe die Lösung schon gefunden. In meinem von TableCell erbenden Control muss ich lediglich DataBind() manuell aufrufen, damit der Databinding-Ausdruck ausgewertet wird:

    Code:
    Public Class Field
    	Inherits System.Web.UI.WebControls.TableCell
    
    	Protected Overrides Sub OnPreRender(ByVal e As EventArgs)
    		MyBase.OnPreRender(e)
    
    		Me.DataBind()
    	End Sub
    
    End Class

    Gruß,
    Jens

    Comment


    • #3
      [highlight=c#]
      TableCell.CssClass = "myCssClass";
      // oder
      TableCell.Attributes.Remove("class");
      TableCell.Attributes.Add("class", "myCssClass");
      [/highlight]
      ?
      Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

      Comment

      Working...
      X