SelectedItem.Text 返回 selectedvalue 代替

本文关键字:代替 selectedvalue 返回 Text SelectedItem | 更新日期: 2023-09-27 18:31:16

我做了一个简单的下拉列表,其中包含硬编码的值和文本,如下所示:

<asp:DropDownList ID="MonthSelectionDrop" runat="server" EnableViewState="true" >
   <asp:ListItem Value="0" Text="--please select--" />
    <asp:ListItem Value="1" Text="January" />
    <asp:ListItem Value="2" Text="February" />
    <asp:ListItem Value="3" Text="March" />
    <asp:ListItem Value="4" Text="April" />
    <asp:ListItem Value="5" Text="May" />
    <asp:ListItem Value="6" Text="June" />
    <asp:ListItem Value="7" Text="July" />
    <asp:ListItem Value="8" Text="August" />
    <asp:ListItem Value="9" Text="September" />
    <asp:ListItem Value="10" Text="October" />
    <asp:ListItem Value="11" Text="November" />
    <asp:ListItem Value="12" Text="December" />
</asp:DropDownList>

按下按钮后,它会自动清空标签,然后填充相关月份。我使用 SelectedItem.Text 来执行此操作:

MonthLabel.Text += MonthSelectionDrop.SelectedItem.Text + " ";

但是,这与我预期的不同,这返回了项目的值,而不是文本。

我在网上找不到解决方案,但我相信有人知道如何让我的标签显示为"一月"而不是"1"

编辑:根据要求,如果对其他人有用,我将添加我的Button_Click事件:

protected void SubmitSelect(object sender, EventArgs e)
{
 if(CheckPresence()) //this is a function that return true at all times atm
{
 MonthLabel.Text = "";
 MonthLabel.Text += MonthSelectionDrop.SelectedItem.Text + " ";
 MonthLabel.Text += YearTextBox.Text;
} else{
   //To be implemented
}
}

SelectedItem.Text 返回 selectedvalue 代替

试试这个:

.ASPX:

<asp:DropDownList ID="MonthSelectionDrop" runat="server"></asp:DropDownList><br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" /><br />
<asp:Label ID="MonthLabel" runat="server"></asp:Label>

代码隐藏:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        MonthSelectionDrop.Items.Add(new ListItem("--please select--", "0"));
        MonthSelectionDrop.Items.Add(new ListItem("January", "1"));
        MonthSelectionDrop.Items.Add(new ListItem("February", "2"));
        //and so on
    }
}
protected void Button1_Click(object sender, EventArgs e)
{
    MonthLabel.Text = MonthSelectionDrop.SelectedItem.Text;
}