26 messaggi dal 09 ottobre 2006
Salve a tutti.
Ho un problema con Request.Form, legato alla gestione del cambio lingua dell'applicazione.
Come suggerito da AspItalia ho implementato lo script che imposta la cultura del thread corrente, prendendo la lingua da una combobox, all'interno della masterpage.

Ecco.. per estrarre il valore della combobox uso questa stringa:

selectedLanguage = Request.Form["ctl00_Navigation_cboLang_DDD_L_VI"];

funziona.

ma penso sia bello calcolare la stringa "ctl00...." in modo dinamico.

ctl00_Navigation_cboLang lo posso estrarre dal client ID.

poi però gli altri valori cosa rappresentano? come li posso generare a run-time? sono sempre uguali?

a run-time, ho visto che dello stesso oggetto cboLang, in Request.Form ci sono altre 4, 5 versioni, ognuna delle quali contiene un valore diverso della combobox.

Quello che mi viene più facile da usare è proprio il DDD_L_VI.

Ognuna delle versioni DDD_L_VI, DDD_WS, DDD_LDeletedItems rappresenta sempre un particolare valore/attributo della combobox?

Posso quindi cablare queste stringhe all'interno del codice? poichè saranno sempre uguali, indipendentemente da tipi browser, webserver e altri? o c'è un modo per generarle a run_time?

grazie
Fabrizio
78 messaggi dal 29 maggio 2007
ho lo stesso problema.

Se puoi usare javascript sulle tue pagine e la pagina che legge i dati e' la stessa che contiene il form puoi usare semplicemente la sintassi

Me.nomeCasella.text

La funzione che avvia la lettura la metti su .onClick di un pulsante invece che di un submit.

In alternativa puoi farti una funzione che analizza tutta la Request e cerca nella stringa il campo che ti serve... se vuoi te la mando, la sto usando io. Anche se spero ci siano soluzioni piu' efficaci....
26 messaggi dal 09 ottobre 2006
sì, la pagina che legge i dati è la stessa.

quindi tu dici: mi faccio un javascript (che odio) e mi salvo il Me.nomeCasella.text in un hiddenfield e poi mi leggo il valore da lì?
(ma nella _InitializeCulture i controlli sono già caricati?)

il fatto è che io ho una combobox, che mi fa l'autopostback al momento del cambio lingua.
Ce la posso fare lo stesso?


Beh, ad ogni modo, per quanto riguarda i suffissi, DDD_L_IV ecc.., almeno mi puoi/potete garantire che sono sempre scritti uguali? cioè ad esempio che non diventi DDL_P_IV..

e poi nel caso rimanga sempre DDD_L_IV, contiene sempre lo stesso tipo di dati?

se mi mandi la funzione la guardo molto volentieri.

ciao
Fabrizio
78 messaggi dal 29 maggio 2007
Allora:

su onChange della tua select con la lingua associ la funzione (non javascript) leggoValoriForm()

Nella pagina ASPX metti:

Sub leggoValoriForm()

Dim primoValore, secondoValore, terzoValore as String
primoValore = Me.nomePrimaCasella.text
secondoValore= Me.nomeSecondaCasella.text
terzoValore = Me.nomeTerzaCasella.text


.....
......
...altre operaizioni

End Sub


Nel'HTML avrai

<select name="ilSuoNome" onChange="leggoValoriForm()"
sfear ha scritto:
Salve a tutti.
Ho un problema con Request.Form, legato alla gestione del cambio lingua dell'applicazione.
Come suggerito da AspItalia ho implementato lo script che imposta la cultura del thread corrente, prendendo la lingua da una combobox, all'interno della masterpage.

Ecco.. per estrarre il valore della combobox uso questa stringa:

selectedLanguage = Request.Form["ctl00_Navigation_cboLang_DDD_L_VI"];

[cut]


Forse non ho capito io...ma perchè non utilizzi controlli lato server?
E poi utilizzi direttamente il controllo e le sue proprietà...

Ormai programmano tutti... ma la professionalità appartiene a pochi
26 messaggi dal 09 ottobre 2006
ho controllato ora, ed è come mi ricordavo:
il settaggio della lingua si fa all'interno di InitializeCulture() dove i controlli non sono ancora stati valorizzati, e se vado a leggere la proprietà "selected value" della combo box è ancora a -1. Solo più avanti questa proprietà è valorizzata.

Quindi sono ancora alla ricerca di una soluzione standard, o che qualcuno che mi dica che DDD_L_VI abbia sempre lo stesso nome, e contenga lo stesso tipo di dati, in modo che lo cablo nel c#.

x fabio:
grazie. ora provo ad implementarlo e vedo cosa ci salta fuori!



ciao
F

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.