Wie greife ich auf GetGlobalResourceObject Funktion aus einer Klasse, die nicht eine Seite ist?
-
12-09-2019 - |
Frage
ich eine Klasse in meinem asp.net proj habe, würde Ich mag Zugang GetGlobalResourceObject bekommen (diese Seite setzt), von überall auf der Website, möglich?
Mit anderen Worten, die ich zugreifen will die globalen Ressourcen von einer Klasse, die keine Seite ist mir egal, wie.
Lösung
Antwort: Ja, wie folgende Pseudo:
Resources.<The name of the resources file name>.<your resource key>;
Beispiel:
lblTitle.Text = Resources.MySettings.WebsiteTitle;
Resources
ist ein von Visual-Studio Autonamespace generiert, die alle in dem Projekt die globalen Ressourcenklassen und Requisiten aussetzt.
Andere Tipps
Sie sollten verwenden
HttpContext.GetGlobalResourceObject("myResourceKey")
... weil diese Art und Weise wird es immer noch funktionieren, wenn Sie eine benutzerdefinierte ResourceProvider verwenden. Der Standardtyp-Generator für Ressourcendateien explizit verwendet den Resx Provider und wird nicht funktionieren, wenn Sie so etwas wie eine Umsetzung
Wenn Sie auf der Website sind, haben Sie Zugriff auf Httpcontext und verwenden können: HttpContext.GetGlobalResourceObject("myResourceKey")
Auf einigen Farmen müssen Sie den Aufruf von
wickelnHttpContext.GetGlobalResourceObject("myResourceKey")
innerhalb ein try / catch-Block es über den Fehler „alle Ressourcen geeignet für die angegebene Kultur oder der neutralen Kultur finden kann nicht“ zu erhalten.
Ich habe irgendwie das von der Ressource Designern,
ResourceManager temp =
new ResourceManager("Resources.<<resource name>>",
System.Reflection.Assembly.Load("App_GlobalResources"));