Problemi nel trasferimento di stringhe con accenti...

mercoledì 22 aprile 2009 - 09.26

Hef89 Profilo | Newbie

Un saluto al forum!
Scrivo per un piccolo problemino... che poteva accadermi dappertutto, ma non in ufficio
Il problema è questo:
Devo riempire dei template controls in una GridView, nello specifico sono dropdown.
Per evitare troppe connessioni al server, la mia idea è stata: popolo una GridView e la uso come datasource per popolare le dropdown.

Il problema sorge con i caratteri accentati! questi infami..
Prendo ad esempio la parola "Città".
Sul SQL Server è salvata come "Città", senza codifiche strane, o che comunque non intaccano la decodifica nella pagina web.
Riempio la GridView e mi decodifica "Città" come "Città" (così si legge nell'HTML della pagina) facendo vedere all'utenza la parola "Città". E fin qui tutto a posto.
A questo punto voglio riempire le dropdown usando la GridView come datasource...
E nelle dropdown codifica "Città" in "Città" (così sempre nell'HTML) e l'utenza si ritrova a vedere nel browser la parola "Città"...
Potrete immaginare che non è una cosa simpatica! XD

C'è un'anima buona e furba che ha una qualche idea su come evitare la doppia decodifica della "&", o che mi può suggerire un altro metodo per riempire più dropdown come template controls con una sola connessione a SQL Server?

Ho già provato ad inserire nella pagina in questione la stringa <meta ecc ecc> per utilizzare il metodo di codifica UTF-8 e l'ISO-8859-1 e non funziona...

Grazie a chiunque abbia qualche idea a riguardo!!

paoval72 Profilo | Senior Member

Ciao. Scusa se chiedo, ma sono un po' gnucco (e pure addormentato!)

>Devo riempire dei template controls in una GridView, nello specifico
>sono dropdown.
>Per evitare troppe connessioni al server, la mia idea è stata:
>popolo una GridView e la uso come datasource per popolare le
>dropdown.

Cioè: per una DropDown in una GridView A caricheresti i tuoi dati in una GridViewB da usare come datasource della dropdown?

PV

Hef89 Profilo | Newbie

assolutamente esatto, perdona se non mi sono spiegato bene, ma nell'enfasi dell'agitazione ho scritto di getto XD

paoval72 Profilo | Senior Member

Nessun problema! Ognuno ha i suoi schemi mentali e i miei spesso sono rigidi.
Procediamo.
la mia proposta:
Al posto di usare questa gridviewB potresti inserire i tuoi dati in un dataset.
poi, fai il bind della tua gridviewA. Vai sull'evento RowDataBound del gridviewA che contiene la ddl, intercetti la sua cella e gli bindi il dataset che hai creato per la ddl.
Se può essere un'idea, ti posto un po' di codice. Mi serve solo sapere come riempi il gridviewB d'appoggio. Ossia: i dati da sql li prendi con una select o una stored?

PV

Hef89 Profilo | Newbie

no guarda va benissimo così, al posto del dataset come mi hai consigliato ho popolato una tabella in RAM riempita tramite tabella.load (giusto per dare l'idea) dopo un ciclo di datareared, praticamente ho fatto la stessa cosa che mi hai scritto ma usando una tabella creata apposta XD

grazie mille comunque per l'idea!

paoval72 Profilo | Senior Member

ma hai ancora il problema dell'accento?

Hef89 Profilo | Newbie

no no, essendo una tabella su ram, il testo non viene codificato dall'HTML, e quando faccio il bind delle dropdown recupera perfettamente il testo
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5