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.
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 %>"
In einem Code Behind File kann über den Namespace ganz einfach darauf zugegriffen werden:
Resources.LocalizedText.email
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.
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