Statisches und dynamisches auslesen von Ressourcen (*.resx)

In .NET sind Ressourcesfiles sehr hilfreich. Auch zum internationalisieren (übersetzen) einer Applikation sind diese sehr praktisch und sollten unbedingt verwendet werden. In folgenden Beispielen nenne ich meine Ressourcedatei immer LocalizedText.resx resp. LocalizedText.En.resx etc.

Auslesen in ASP.net

In einer ASP.net Seite (*.aspx oder *.ascx) kann einem Label ein String aus den Ressourcen wie folgt zugeordnet werden:

<asp:Label id="email" runat="server" Text="<%$ Resources:LocalizedText, email %>"

Auslesen im Code

In einem Code Behind File kann über den Namespace ganz einfach darauf zugegriffen werden:

Resources.LocalizedText.email

Dynamisches auslesen im Code

Mit folgender Methode können wir dynamisch auf die Einträge im Ressourcenfile zugreifen. Dies sollte man jedoch nicht machen, wenn es nicht unbedingt notwendig ist. Hat man mehrere Ressourcenfiles muss man dessen Name evtl. auch noch als Parameter übergeben. Wenn der key nicht gefunden wurde wird dieser als String zurückgegeben.

VB.net

Public Shared Function getLocalizedText(ByVal key As String)
	Dim value As String = System.Web.HttpContext.GetGlobalResourceObject("LocalizedText", key)
	Return Microsoft.VisualBasic.IIf((value Is Nothing), key, value)
End Function
dotnet/statisches_und_dynamisches_auslesen_von_ressourcen.txt · Zuletzt geändert: 27.12.2013 19:46 (Externe Bearbeitung)
Nach oben
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0