【问题标题】:DropDownList selected item always first item in listDropDownList 所选项目始终是列表中的第一项
【发布时间】:2012-09-24 14:43:21
【问题描述】:

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

<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;
    }
}

【问题讨论】:

  • 您在页面加载时获得选定的值,因此它始终是列表的第一项值....

标签: asp.net webforms


【解决方案1】:

尝试在Page_Load 中使用!Page.IsPostBack

private void Page_Load(object sender, EventArgs e)
{

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

【讨论】:

  • 这个答案真的没有意义。如果我正在检查下拉列表的值,我该如何在 !Page.IsPostBack 中执行此操作
  • 哦抱歉..我是盲人...您是在单击按钮后还是仅在页面加载时才尝试获取所选值...?
  • 感谢您的提示。我想我们正在这里取得进展。我最初检查 Page_Load 是因为我试图在 DropDownList 上执行 AutoPostback。但是,当我添加提交按钮时,我将逻辑留在了 Page_Load 中。但是,如果我在提交按钮上添加一个 onClick 函数并检查那里的值,它就可以工作。所以如果我想做一个 AutoPostback 我应该在哪里检查选择的值?
  • 看来我可以通过 SelectedIndexChanged 事件完成此操作。感谢您的帮助。
猜你喜欢
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-22
相关资源
最近更新 更多