2009-09-07 11 views
0
[...] 
public DataSet ReturnPromoMagazinesDs() 
{ 

    MySql.Data.MySqlClient.MySqlConnection mysqlConnection = new MySql.Data.MySqlClient.MySqlConnection(this.connectionString); 

    MySql.Data.MySqlClient.MySqlCommand mysqlCommand = new MySql.Data.MySqlClient.MySqlCommand("SELECT id, magazine_name FROM `magazines`", mysqlConnection); 

    MySql.Data.MySqlClient.MySqlDataAdapter mysqlAdaptor = new MySql.Data.MySqlClient.MySqlDataAdapter(mysqlCommand); 

    DataSet ds = new DataSet(); 

    mysqlAdaptor.Fill(ds, "magazines"); 

    return ds; 
} 

[...] 
protected void Page_Load(object sender, EventArgs e) 
{ 
     DataSet ds = new DataSet(); 
     ds = coreObject.ReturnPromoMagazinesDs(); 

     DropDownList1.DataSource = ds; 
     DropDownList1.DataTextField = ds.Tables["magazines"].Columns["magazine_name"].ColumnName; 
     DropDownList1.DataValueField = ds.Tables["magazines"].Columns["id"].ColumnName; 
     DropDownList1.DataBind(); 

} 

[...] 
<asp:dropdownlist id="DropDownList1" runat="server"></asp:dropdownlist> 

Le code ci-dessus fonctionne bien, jusqu'à ce que je suis aller chercher la DropDownList1.SelectedValue qui est toujours 1 (la valeur de poing de la table). Les valeurs de la table ne sont pas à blâmer pour cela, et si j'ajoute manuellement des éléments à DropDownList, tout fonctionne correctement. Qu'est-ce qui peut causer ça?ASP.NET DropDownList Problème

Répondre

2

-t-il fonctionner correctement lorsque vous enveloppez tout le code dans la méthode Page_Load dans les domaines suivants:

if (!IsPostBack) { /* Code as in the original post */ } 
0

Je ne sais pas si quelque chose est de se perdre dans transalation mais vous pouvez simplifier les lignes suivantes, même si son ne résout pas le problème.

DropDownList1.DataTextField = "magazine_name"; 

DropDownList1.DataValueField = "id"; 
+0

Les deux méthodes aboutissent à la même chose. Même si j'utilise dropdown.datetextfiel = "myfield" et dropdown.datatextvaluefield = "id" avant ou après droptdownlist.datasource = ds; – EsiX

Questions connexes