|
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
|
Traduzione
Originale
|
Procedura: recuperare valori di risorse a livello di codice
Per recuperare i valori delle risorse a livello di codice
Chiamare il metodo GetLocalResourceObject or GetGlobalResourceObject per leggere le risorse specifiche da un file, rispettivamente, di risorse globali o locali. Questi metodi di overload sono disponibili nelle classi HttpContext e TemplateControl. Il metodo GetGlobalResourceObject accetta il nome di una classe di risorse e l'ID delle risorse. Il nome della classe si basa sul nome del file con estensione resx. Ad esempio, al file WebResources.resx, e a tutti i file localizzati associati, viene fatto riferimento in base al nome della classe WebResources. Il metodo GetLocalResourceObject accetta un nome di risorsa che rappresenta una proprietà ResourceKey. Nell'esempio di codice riportato di seguito viene illustrato come ottenere il valore di una risorsa da un file di risorse locali e globali. I metodi restituiscono un oggetto. Pertanto è necessario eseguire il cast della risorsa al tipo appropriato. A un file di risorse predefinite locali archiviato nella cartella App_LocalResources speciale viene assegnato un nome in base alla pagina ASP.NET. Se ad esempio si utilizza il codice seguente in una pagina Default.aspx, al file delle risorse deve essere assegnato il nome Default.aspx.resx. In questo esempio aggiungere una risorsa di tipo stringa nel file Button1.Text con il valore "Found Resources". In questo esempio, inoltre, a un file di risorse predefinite globali archiviato nella cartella App_GlobalResources speciale viene assegnato il nome WebResourcesGlobal.resx. Aggiungere una risorsa di tipo stringa denominata LogoUrl con il valore http://go.microsoft.com/fwlink/?LinkId=49295 o l'URL di un'altra immagine. <%@ Page Language="VB" %> <script runat="server"> Protected Sub Button1_Click( _ ByVal sender As Object, ByVal e As System.EventArgs) Button1.Text = _ GetLocalResourceObject("Button1.Text").ToString() Image1.ImageUrl = _ CType(GetGlobalResourceObject("WebResourcesGlobal", _ "LogoUrl"), String) Image1.Visible = True End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Get Resources" /> <asp:Image ID="Image1" runat="server" Visible="false" /> </div> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> protected void Button1_Click(object sender, EventArgs e) { Button1.Text = GetLocalResourceObject("Button1.Text").ToString(); Image1.ImageUrl = (String)GetGlobalResourceObject( "WebResourcesGlobal", "LogoUrl"); Image1.Visible = true; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head id="Head1" runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Get Resources" /> <asp:Image ID="Image1" runat="server" Visible="false" /> </div> </form> </body> </html>
Per recuperare le risorse globali con la tipizzazione forte
Ottenere la risorsa utilizzando la seguente sintassi: Resources.Class.Resource
Le risorse vengono compilate nello spazio dei nomi Resources e ciascuna risorsa predefinita diventa un membro della classe Resources. Ad esempio, se si è creato il file di risorse predefinite WebResources.resx e il file contiene una risorsa detta WelcomeText, è possibile creare un riferimento per la risorsa nel codice, come illustrato nel seguente esempio di codice: Dim welcome As String welcome = Resources.WebResources.WelcomeText
String welcome; welcome = Resources.WebResources.WelcomeText;