107 messaggi dal 10 aprile 2006
Salve,
ho inserito un dropdownlist con l'elenco delle regioni.
Ho fatto in modo che il controllo in questione venisse caricato da origine dati e quindi dalla tabella delle regioni.
In pratica al Page Load mi ritrovo l'elenco delle regioni caricate al suo interno.
però voglio settare una regione in particolare di default, come faccio ? da origine dati è possibile farlo oppure dopo aver caricata la pagina e in quale evento ? nonché in che modo ?

Poi ho notato altra cosa: quando associo l'origine dati, mi mette il percorso completo della connection string con il nome del server mio locale, ma poi quando lo scarico in web devo cambiare i path ? MI conviene allora non associare il controllo all'origine dati e fare il caricamento da codice con la connectstring configurata nel webconfig cosa mi dite a riguardo ?

Grazie
Modificato da navigatore65 il 27 ottobre 2014 17.20 -
Modificato da navigatore65 il 27 ottobre 2014 17.20 -
Modificato da navigatore65 il 27 ottobre 2014 18.02 -
Ti consiglio di inserire la connection string nel web.config in modo da poterla cambiare facilmente una volta che sei in produzione. Sempre nel page load dopo che hai effettuato il binding dei dati alla dropdownlist puoi scegliere il selectedvalue. Ci sono due modi principali di fare il binding:
1. Setti le proprietà di text e value che vanno in binding poi
MyDropDownList.DataSource = TuoDataSource;
MyDropDownList.Databind();
2. Cicli la tua sorgente dati e crei gli elementi.
foreach (Myclass foo in TuaCollection)
{
ListItem item = new ListItem(foo.text, foo.value);
MyDropDownList.Items.Add(item);
}

poi selezioni il tuo valore:
MyDropDownList.SelectedValue = "x";
oppure ci sono altri metodi
MyDropDownList.FindByText, FindByValue...

Ormai programmano tutti... ma la professionalità appartiene a pochi
107 messaggi dal 10 aprile 2006
Quindi gestire tutto da codice e non sul controllo per configurare origine dati. (se... ho capito bene)
Io ho fatto mediante caricamento manuale con tanta di lettura sulla tabella e caricamento.. ovviamente la connct sta nel webconfig:



          SqlConnection conn3 = new SqlConnection(WebConfigurationManager.ConnectionStrings["strgroupmarket"].ConnectionString);
            SqlDataAdapter adapter2 = new SqlDataAdapter("SELECT * FROM TCATEGONIAN", conn3);
            try
            {
                conn3.Open();
                DataSet ds = new DataSet();
                adapter2.Fill(ds);
                Drpcategoria.DataSource = ds;
                Drpcategoria.DataValueField = "Codcategoria";
                Drpcategoria.DataTextField = "Descr";
                Drpcategoria.DataBind();
                Drpcategoria.Items.Insert(0, new ListItem("Tutte", "0"));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            finally
            {
                conn.Close();
            }



grazie
Modificato da navigatore65 il 28 ottobre 2014 12.55 -
Si il codice è sostanzialmente corretto.
Alcune annotazioni:
1. la parte di gestione dati andrebbe spostata su classi apposite
2. il catch che rilancia eccezione non serve a nulla perché è già il comportamento di default. Al massimo andrebbe gestito un messaggio o un log di errore.
3. il codice che hai scritto si può anche gestire con le proprietà del controllo in aspx

Ormai programmano tutti... ma la professionalità appartiene a pochi

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.