簡體   English   中英

在C#中,如何使用標簽控件在dropdownlist中顯示字符串數組?

[英]in c#, how to display array of string in dropdownlist using label control?

所以我通過給它分配字符串數組來使用dropdownlist控件。 我在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;
}

嘗試改用SelectedItem屬性:

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

您必須在IsPostBack檢查中包裝DropDownLists的數據綁定。 否則,它們將在PostBack上重新創建,並且其選擇的值將丟失。 這就是為什么您總是得到第一個字符串的原因。

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是一個KeyValue對,您可以在其中使用值而不是文本。 這里舉個例子。

<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 ,但是我們在數據庫中不需要該Text ,因此將Values設置為MF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM