2012-09-24 62 views
2

我在用户控件中有一个DropDownList;然而,无论我做什么,我都无法获得任何“选定”属性(SelectedItem,SelectedIndex,SelectedValue)以正确填充。所有这三个属性的值都是我列表中的第一个项目,不管实际选择了哪个项目。DropDownList所选项目总是列表中的第一项

<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

你得到的选择值时,页面加载因此列表中的总是第一个项目值.... – Nalaka526

回答

3

尝试使用!Page.IsPostBackPage_Load

private void Page_Load(object sender, EventArgs e) 
{ 

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

这个答案没有任何意义。如果我正在检查一个下拉列表的值,我该如何做到这一点!Page.IsPostBack – Kyle

+0

哦,对不起..我是盲目的...你是想在按钮点击后得到选定的值,或只有当页面加载....? – Nalaka526

+0

感谢您的提示。我想我们在这里得到了一些地方。我最初是在Page_Load中检查,因为我试图在DropDownList上做一个AutoPostback。但是,当我添加提交按钮时,我离开了Page_Load中的逻辑。但是如果我在提交按钮上添加一个onClick函数并检查该值是否有效。所以如果我想要做一个AutoPostback,我应该在哪里检查选定的值? – Kyle

相关问题