348 messaggi dal 10 marzo 2013
Sono bloccato su questa cosa non riesco ad andare avanti è un urlo quasi disperato. Si accetta ogni suggerimento
348 messaggi dal 10 marzo 2013
Ma un anima buona con una soluzione???
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao, dato che la tua dropdownlist sta leggendo i suoi elementi da un datasource control, proverei a forzare il binding durante il Page_Init.
Questo è un tentativo per realizzare quello che ti dicevo, cioè far arrivare gli elementi nella dropdownlist prima che il selectedvalue venga esaminato.

Dunque prova così
protected void Page_Init(object sender, EventArgs e){
  tuaddl.DataBind();
}


Se non funziona comunque, fai una copia della pagina e prova a sperimentare altri modi, tipo riempire la ddl usando la sua collezione Items, anziché un datasource control. Così hai un controllo più diretto sul momento in cui la ddl riceve i suoi items.
esempio
tuaddl.Items.Add(...);


ciao, Moreno

Enjoy learning and just keep making
348 messaggi dal 10 marzo 2013
Grazie Moreno.

Avevo già provato a rimepire l'items "manualmente" diciamo, ma sto usando lo stesso form per l'inserimento e per la ricerca, quindi per l'edit in quel modo funziona, mentre non funziona per la compilazione del database.

Proverò un po' di roba.
Ho provato a far fare il binding in init , ma non funziona lo stesso.

Grazie.
348 messaggi dal 10 marzo 2013
Non lo so ne sto provando di ogni genere ma non funziona.

Ho 3 Drop su questo form ognuna di queste corrisponde ad unica tabella, quindi usando l'evento OnSelectedIndexChanged una cambia il valore dell'altra e riesco ad aggiungere record al database. ma quando sullo stesso form effettuo la ricerca di un record per modificarne poi il contenuto l'errore è sempre lo stesso :

SelectedValue in 'DrpTipoAffiliato' non valido, poiché non è incluso nell'elenco di elementi.
Nome parametro: value

Anche caricando nel PageInit la DDL.

Non ho più soluzioni.
Si accetta qualunque tipo di consiglio!!!!

Grazie a tutti.
348 messaggi dal 10 marzo 2013
Forse ho capito qual è il problema

La drop che dovrebbe aggiornare anziché restituirmi una stringa, mi restituisce un numero.
Provo a spiegarmi meglio e postare del codice:

In pratica quando inserisco dei nuovi dati il valore della Dropdownlist corrisponde a delle sigle "SP, ICP, COLL" ma invece di queste sigle anche nel TipoAffiliati mi restituisce in praticamente L'ID.
Provo a spiegarmi un po' meglio la mia applicazione si basa su un
database già esistente, che non ho creato io, i record già esistenti come valore nel tipoAffiliato restituiscono la sigla
Motivo per il quale quando interrogo il database mi dice che quel
parametro non esiste.
Come posso ovviare a tutto cio?
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao Mario,

la proprietà SelectedValue ti restituirà lo stesso dato che la dropdownlist ha ricevuto dal database, dal campo che hai indicato come DataValueField.

Dato che nella tua dropdownlist hai indicato:
DataValueField="IdAffiliato"

Il SelectedValue sarà quindi uno dei valori che arrivano dalla colonna IdAffiliato del database che, immagino, sia un numero intero.

Quel valore non c'entra nulla con il testo che l'utente legge a video nella dropdownlist. Quello infatti è un valore che arriva da un altro campo ed è controllato dalla proprietà DataTextField. Nel tuo caso:
DataTextField="Sigla"

Dunque, se il tuo scopo è ottenere la Sigla anziché l'ID, dovresti fare in modo che anche il DataValueField sia valorizzato a "Sigla".

Nel frattempo ho provato a riprodurre il tuo problema ma non ci sono riuscito.
Come vedi da questo progetto di esempio, la pagina riesce sempre a recuperare i valori selezionati di IdAffiliato e Sigla.
http://1drv.ms/1l1YmvJ

Prepara anche tu un nuovo progetto ridotto ai minimi termini da cui si possa osservare il problema, altrimenti non ne usciamo. Magari sostituisci i SqlDataSource con degli ObjectDataSource, in modo che non sia neanche necessario avere un database.

Oiram ha scritto:

Motivo per il quale quando interrogo il database mi dice che quel
parametro non esiste.

Il problema tuttavia non si verifica quando interroghi il database. Mi sembrava che si verificasse al postback, quando la dropdownlist provava a ripristinare il suo SelectedValue?
Usa il debugger di Visual Studio per capire qual è la riga di codice che genera il problema.

ciao,
Moreno

Enjoy learning and just keep making
348 messaggi dal 10 marzo 2013
Grazie Moreno.
Ora proverò a rifare magari un progetto essenziale e a seguire la tue dritte.
Ti farò sapere.
Grazie ancora.

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.