簡體   English   中英

如何在下拉列表中獲取所選項目的值?

[英]How to get the value of the selected Item in a Drop down list?

我有一個從數據庫填充的下拉列表。 當我使用dplTags.SelectedItem.Value時,它僅返回第一個值,而不返回我選擇的那個值?

有人可以給我打電話我哪里出錯了嗎?

當我稱之為:

String TagID = dplTags.SelectedItem.Value; // Will only select the first value????

它總是返回第一項的TagID,而不是所選項的TagID:\\

這是我綁定它的方式:

using (var conn = new SqlConnection(Properties.Settings.Default.DBConnectionString))
            {
                conn.Open();

                SqlDataAdapter daTags
                = new SqlDataAdapter("Select * From Tag", conn);

                DataSet dsTags = new DataSet("TagCloud");

                daTags.FillSchema(dsTags, SchemaType.Source, "Tag");
                daTags.Fill(dsTags, "Tag");

                daTags.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daTags.Fill(dsTags, "Tag");

                DataTable tblTag;
                tblTag = dsTags.Tables["Tag"];

                dplTags.DataSource = dsTags;
                dplTags.DataMember = "Tag"; 
                dplTags.DataValueField = "TagID"; //Value Member
                dplTags.DataTextField = "Value"; // Display Member
                dplTags.DataBind();
            }

請幫助,在此先感謝。

您將數據綁定到這些下拉列表控件的位置是什么? 它們應僅在初始加載頁面時綁定,如下所示。 我懷疑您在每次頁面加載時都將它們綁定了,因此所選值消失了。

protected void Page_Load(object sender, EventArgs e)
{

    if (!Page.IsPostBack)
    {
        //Please check if you are binding checkbox controls here. 
        //If not bring them in here
    }
}

僅當Page.IsPostback == false時,才啟用頁面的視圖狀態,並對下拉列表進行數據綁定

在第一頁加載時將下拉列表綁定一次,不要在回發時再次綁定它。 再次綁定它將用新元素填充下拉列表,並且先前的選擇將丟失。

if(!Page.IsPostBack)
{
using (var conn = new SqlConnection(Properties.Settings.Default.DBConnectionString))
            {
                conn.Open();

                SqlDataAdapter daTags
                = new SqlDataAdapter("Select * From Tag", conn);

                DataSet dsTags = new DataSet("TagCloud");

                daTags.FillSchema(dsTags, SchemaType.Source, "Tag");
                daTags.Fill(dsTags, "Tag");

                daTags.MissingSchemaAction = MissingSchemaAction.AddWithKey;
                daTags.Fill(dsTags, "Tag");

                DataTable tblTag;
                tblTag = dsTags.Tables["Tag"];

                dplTags.DataSource = dsTags;
                dplTags.DataMember = "Tag"; 
                dplTags.DataValueField = "TagID"; //Value Member
                dplTags.DataTextField = "Value"; // Display Member
                dplTags.DataBind();
            }
}

暫無
暫無

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

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