2012-09-24 5 views
2

J'ai un DropDownList dans un contrôle utilisateur; Cependant, peu importe ce que je fais, je ne peux obtenir aucune des propriétés "selected" (SelectedItem, SelectedIndex, SelectedValue) pour remplir correctement. La valeur de ces trois propriétés est le premier élément de ma liste, quel que soit l'élément sélectionné.DropDownList élément sélectionné toujours premier élément de la liste

<asp:DropDownList ID="ParticipantsSelectList" runat="server"> 
    <asp:ListItem Value="">Please select a team...</asp:ListItem> 
    <asp:ListItem value="{D37EFA0C-988A-4A2A-8D6E-80E3BAE00DEE}">Blue Team</asp:ListItem> 
    <asp:ListItem value="{7543E282-C9B8-435A-86A2-70E8E3BB38E5}">Green Team</asp:ListItem> 
    <asp:ListItem value="{F6BEF34A-215E-4179-9F4C-68F7C43D755F}">Orange Team</asp:ListItem> 
    <asp:ListItem value="{D50AD44A-686A-4BD3-B62E-D70ABF153AE5}">Red Team</asp:ListItem> 
    <asp:ListItem value="{DEFB7DA6-B0FF-4C36-A015-F3E8BC7AECA2}">Yellow Team</asp:ListItem> 
    <asp:ListItem value="{D37EFA0C-988A-4A2A-8D6E-80E3BAE00DEE},{7543E282-C9B8-435A-86A2-70E8E3BB38E5},{F6BEF34A-215E-4179-9F4C-68F7C43D755F},{D50AD44A-686A-4BD3-B62E-D70ABF153AE5},{DEFB7DA6-B0FF-4C36-A015-F3E8BC7AECA2}">All Teams</asp:ListItem> 
</asp:DropDownList> 
<asp:Button runat="server" Text="Submit" /> 

private void Page_Load(object sender, EventArgs e) 
{ 
    if (!String.IsNullOrEmpty(ParticipantsSelectList.SelectedValue)) // SelectedValue is always empty string (value of the first item in the list) 
    { 
     resultsPanel.Visible = true; 
     selectTeamLabel.Visible = false; 
     GenerateResultsTable(); 
    } 
    else 
    { 
     resultsPanel.Visible = false; 
     selectTeamLabel.Visible = true; 
    } 
} 
+0

Vous obtenez la valeur sélectionnée lorsque la charge de page de sorte que son toujours la première valeur de l'élément de la liste .... – Nalaka526

Répondre

3

Essayez d'utiliser !Page.IsPostBack dans Page_Load

private void Page_Load(object sender, EventArgs e) 
{ 

    if (!Page.IsPostBack) 
    { 
     //Your Code.... 
    } 
} 
+0

Cette réponse n'a pas vraiment de sens. Si je vérifie la valeur d'une liste déroulante comment puis-je faire cela dans! Page.IsPostBack – Kyle

+0

Oh désolé .. J'étais aveugle ... Essayez-vous d'obtenir la valeur sélectionnée après un clic de bouton ou seulement lorsque le page charge ....? – Nalaka526

+0

Merci pour le conseil. Je pense que nous arrivons quelque part ici. Je vérifiais à l'origine dans Page_Load parce que j'essayais de faire un AutoPostback sur DropDownList. Cependant, lorsque j'ai ajouté le bouton de soumission, j'ai laissé la logique dans Page_Load. Mais si j'ajoute une fonction onClick sur le bouton submit et que je vérifie la valeur, ça marche. Donc, si je veux faire un AutoPostback, où dois-je vérifier la valeur sélectionnée? – Kyle

Questions connexes