Tags: , , | Categories: ASP.Net Posted by Christoph on 1/17/2008 4:57 PM | Comments (0)

Alle Controls erben von folgender Klasse:

Public Class ContentControl

    Inherits System.Web.UI.UserControl

    Public Function Translate(ByVal Text As String) As String
        Return TextTools.TranslateText(Text, MyLang)
    End Function

    Public Sub TranslateMe(ByVal Ctrl As Control)

        If TypeOf Ctrl Is RadioButton Then
            Dim Rbl As RadioButton = Ctrl
            Rbl.Text = Translate(Rbl.Text)
        ElseIf TypeOf Ctrl Is HyperLink Then
            Dim Hyp As HyperLink = Ctrl
            Hyp.Text = Translate(Hyp.Text)
        End If

    End Sub

End Class

Wenn Texte im Backend übersetzt werden, ist es sehr praktisch, wenn diese im Markup definiert werden können:

<fieldset>
    <legend><asp:RadioButton ID="rbCC" runat="server" GroupName="pay" Text="Kreditkarte" /></legend>
</fieldset>

Damit muss ich in der PageLoad Methode der Controls nurnoch TranslateMe(rbCC) aufrufen, und der im Markup angegebene Text würd übersetzt, und wieder in das Control geschrieben.

Zusätzlich kann ich auch im Markup direkt <%=Translate("Name")%> benutzen.

Add comment

  Country flag

biuquote
  • Comment
  • Preview
Loading