Problema con il namespace Resources

venerdì 02 marzo 2007 - 22.49

sankyu Profilo | Senior Member

ciao a tutti questo è il mio primo post! ma veniamo al dunque.
Ho litigato tutta la giornata con l'inserimento di un sistema di localizzazione in un sito asp.net 2.0 alla fine funziona solo che non riesco ad associare i file di risorse a livello di codice(nel file .vb) invece che al livello di source nella pagina aspx
praticamente importo il namespace resources, intellisense me lo riconosce e mi da automaticamente accesso a tutte le risorse del file resources.resx che è un file di risorse globali.

il problema giunge quando associo la risorsa ad un label in questo modo:

lblNomeCliente.Text=resource.lblNomeCliente()

in cui il valore lblNomeCliente è contenuto nel mio file di risorse

l'errore che mi da è lo stesso che ottengo quando non istanzio un oggetto praticamente mi dice che l'oggetto lblnomecliente non esiste o non è dichiarato, domani posto il codice di errore preciso.

ho provato anche con la funzione getGlobalResourceObject() ma non ne capisco la sintassi( negli esempi che ho trovato in giro chiede solo un valore ma nel visual studio me ne chiede due :( )

aspetto vostri pareri Grazie mille a tutti!
ps la guida di ioProgrammo sulla localizzazione è in parte sbagliata!!

alx_81 Profilo | Guru

>ciao a tutti questo è il mio primo post!
Ciao e benvenuto su DotNetHell!

> ma veniamo al dunque.
>Ho litigato tutta la giornata con l'inserimento di un sistema
>di localizzazione in un sito asp.net 2.0 alla fine funziona solo
>che non riesco ad associare i file di risorse a livello di codice(nel
>file .vb) invece che al livello di source nella pagina aspx
>praticamente importo il namespace resources, intellisense me
>lo riconosce e mi da automaticamente accesso a tutte le risorse
>del file resources.resx che è un file di risorse globali.
Ok, quindi hai aggiunto un file Resources.resx sotto la cartella App_GlobalResources, giusto? La cartella te la crea Visual Studio 2005.
>
>il problema giunge quando associo la risorsa ad un label in questo
>modo:
>
>lblNomeCliente.Text=resource.lblNomeCliente()
Facendo

lblNomeCliente.Text = Resource.lblNomeCliente

mi funziona senza alcun problema..

Volendo puoi cambiare accesso, facendo la GetString tramite il ResourceManager dell'oggetto Resource, in questo modo:

lblNomeCliente.Text = Resource.ResourceManager.GetString("lblNomeCliente")

>in cui il valore lblNomeCliente è contenuto nel mio file di risorse
Ovviamente nel Resources.resx devi indicare che quel valore è definito come Stringa e il nome è lblNomeCliente
>
>l'errore che mi da è lo stesso che ottengo quando non istanzio
>un oggetto praticamente mi dice che l'oggetto lblnomecliente
>non esiste o non è dichiarato, domani posto il codice di errore
>preciso.
Quindi l'errore è il classico 'Object Not Set An Instance Of An Object'
>
>
>aspetto vostri pareri Grazie mille a tutti!
Che dire, se hai fatto il Resources.resx sotto la cartella App_GlobalResources come Visual Studio propone, l'oggetto Resource funziona perfettamente.. Se elimini il file o il contenuto della Resx, l'errore te lo dà, ma di compilazione.. quindi non saprei.. prova la GetString e se ancora non va posta il codice dell'evento che scatena l'errore e l'errore, magari anche con lo stack.. così possiamo capire di cosa in effetti si tratti..

ciao!
Alx81 =)

http://blogs.dotnethell.it/suxstellino
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5