在 C# 中,如何使用标签控件在下拉列表中显示字符串数组



所以我通过为其分配字符串数组来使用下拉列表控件。我在函数中编写Page_Load编码。

protected void Page_Load(object sender, EventArgs e)
{
    string[] Gender = { "Male", "Female" };
    DdlGender.DataSource = Gender;
    DdlGender.DataBind();
    string[] Update = { "Yes", "No" };
    DdlUpdates.DataSource = Update;
    DdlUpdates.DataBind();
}

现在我想知道如何在按下按钮后在下拉列表中准确显示所选字符串?

我也使用此编码来显示,当我在下拉列表中选择第二个字符串时,它只会显示第一个字符串......

protected void BtnSubmit_Click(object sender, EventArgs e)
{
    int i;
    lblGender.Text = DdlGender.Text;
    lblUpdates.Text = DdlUpdates.Text;
}
您必须将

DropDownList 的数据绑定包装在IsPostBack检查中。否则,它们将在回发时重新创建,并且其所选值将丢失。这就是为什么你总是得到第一个字符串。

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        string[] Gender = { "Male", "Female" };
        DdlGender.DataSource = Gender;
        DdlGender.DataBind();
        string[] Update = { "Yes", "No" };
        DdlUpdates.DataSource = Update;
        DdlUpdates.DataBind();
    }
}

您可以使用SelectedValue单击按钮获取值。

DdlUpdates.Text = DdlGender.SelectedValue;
DdlUpdates.Text = DdlUpdates.SelectedValue;

也可以这样做:DdlGender.SelectedItem.Text,但通常 DropDownList 是一个键值对,您可以在其中使用值而不是文本。这里有一个例子。

<asp:DropDownList ID="DdlGender" runat="server">
    <asp:ListItem Text="I'm a male" Value="M"></asp:ListItem>
    <asp:ListItem Text="I'm a female" Value="F"></asp:ListItem>
</asp:DropDownList>

在这个例子中,用户在 DropDownList 中获得了更多的Text,但我们在数据库中不需要它,所以我们Values设置为仅 MF

尝试改用SelectedItem属性:

protected void BtnSubmit_Click(object sender, EventArgs e)
{ 
   lblGender.Text = DdlGender.SelectedItem.ToString();
   lblUpdates.Text =  DdlUpdates.SelectedItem.ToString();
}

最新更新