2012-09-24 3 views
2

사용자 정의 컨트롤에 DropDownList가 있습니다. 그러나, 내가 무엇을해도 "selected"속성 (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

!Page.IsPostBack를 사용하려고하면 페이지가로드 그래서 목록은 항상 첫 번째 항목 값 .... – Nalaka526

답변

3

당신이 선택한 값을 받고 Page_Load

private void Page_Load(object sender, EventArgs e) 
{ 

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

이 답변 정말 말이되지 않습니다. 드롭 다운 목록의 값을 확인하는 중 어떻게하면 안되나요? Page.IsPostBack – Kyle

+0

오, 죄송합니다. 나는 눈이 멀었습니다. 버튼 클릭 후 또는 선택한 경우에만 선택한 값을 얻으려고합니까? 페이지로드 ....? – Nalaka526

+0

팁 주셔서 감사. 나는 우리가 여기 어딘가에 있다고 생각한다. DropDownList에서 AutoPostback을 수행하려고했기 때문에 원래 Page_Load를 체크인했습니다. 그러나 제출 버튼을 추가 할 때 Page_Load에 로직을 남겼습니다. 하지만 제출 버튼에 onClick 함수를 추가하고 값을 확인하면 작동합니다. 따라서 AutoPostback을 수행하려면 선택된 값을 어디에서 확인해야합니까? – Kyle

관련 문제