簡體   English   中英

動態填充下拉列表

[英]dynamically populate dropdownlist

我正在使用以下代碼動態填充下拉列表...我希望該值應該是主題ID,文本應該是sub_desc ...但是代碼不起作用,該值不包含sub_ids ...所以代碼出了什么問題??

(sub_id是整數字段)

 public void Populate()
        {
            string ConnectionString = (string)ConfigurationManager.AppSettings["ConnectionString"];
         SqlConnection conn = new SqlConnection(ConnectionString);
            SqlCommand popCmd = new SqlCommand("select sub_id,sub_desc from subject", conn);
            try
            {
                conn.Open();
                ddlSub.Items.Clear();

                SqlDataReader subs;
                subs = popCmd.ExecuteReader();


                ddlSub.DataSource = subs;
                ddlSub.DataValueField = "sub_id";
                ddlSub.DataTextField = "sub_desc";
                ddlSub.DataBind();
                conn.Close();
            }
            catch (Exception ex)
            {
               lblMsg.Visible = true;
               lblMsg.Text = ex.ToString();

            }

        }

謝謝...

您可以將AppendDataBoundItems="true"為確保數據綁定項不會清除手動插入的列表項。

<asp:DropDownList ID="DropDownList" runat="server" AppendDataBoundItems="true">
    <asp:ListItem Value="--Select Subject--" Text="--Select Subject--" Selected="true"></asp:ListItem>
</asp:DropDownList>

您也可以在后面的代碼中完成此操作。

...
dropSub.Items.Add(new ListItem("--Select Subject--", "0"));
dropSub.AppendDataBoundItems = true;
SqlDataReader subs;
subs = popCmd.ExecuteReader();
ddlSub.DataSource = subs;
ddlSub.DataValueField = "sub_id";
ddlSub.DataTextField = "sub_desc";
ddlSub.DataBind();
conn.Close();
...

您可以在數據綁定后添加默認值。 您將需要在索引為0處插入,而不是在Add處插入。

暫無
暫無

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

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