簡體   English   中英

從下拉列表中選擇的數據庫中獲取值

[英]Fetch value from database as selected in dropdownlist

我有一個asp 頁面,其中有一個下拉列表。 值的完整列表綁定在數據庫表“a”的下拉列表中。 從該下拉列表中選擇任何值后,我將其保存到數據庫表“b”。 現在,在第二個 asp 頁面中,我希望該下拉列表具有從表“b”中選擇的值。 我的 aspx 頁面:

 <asp:DropDownList DataSource='<%# getBankTable() %>' ID="ddlBankName" DataValueField='BANK_ID'  
     DataTextField="BANK_DESC" SelectedValue='<%# Eval("BANK_ID") %>' AppendDataBoundItems="true" 
     runat="server">
 </asp:DropDownList>

我的.cs頁面:

protected void Page_Load(object sender, EventArgs e)
{

        string sql1 = "SELECT * FROM Master LEFT JOIN BANK ON Master.BANK_ID = Transaction.BANK_ID";
        OracleDataReader dr = cmd.ExecuteReader();

        while (dr.Read())
        {
            ddlBankName.Items.FindByValue(dr["BANK_ID"].ToString()).Selected = true;
        }
}
public void getBankTable()
{
    ddlBankName.Items.Clear();

    ddlBankName.Items.Insert(0, new ListItem("Select", ""));
    clsDataAccess cls = new clsDataAccess();

    string sql = "SELECT BANK_ID,BANK_DESC FROM Master";

    DataTable dt = cls.GetDataTable(sql);

    ddlBankName.DataTextField = "BANK_DESC";
    ddlBankName.DataValueField = "BANK_ID";

    ddlBankName.DataSource = dt;
    ddlBankName.DataBind();
}

我無法做到這一點。 請幫忙!!

我個人認為最好在你的 CS 中填充 Dropdown 並在那里設置值。

<asp:DropDownList ID="ddlBankName" DataValueField='BANK_ID' DataTextField="BANK_DESC" AppendDataBoundItems="true" runat="server">
        </asp:DropDownList>

在您的 CS 頁面中:

    protected void Page_Load(object sender, EventArgs e) {

 //Only fill it once on page load:
 if (!Page.IsPostBack) {

   getBankTable();

  string sql1 = "SELECT * FROM Master LEFT JOIN BANK ON Master.BANK_ID = Transaction.BANK_ID";
  OracleDataReader dr = cmd.ExecuteReader();

  while (dr.Read()) {
      if (dr["BANK_ID"] != null)
      {
           ddlBankName.Items.FindByValue(dr["BANK_ID"].ToString()).Selected = true;
      }      
  }
 }
}

public void getBankTable() {
 ddlBankName.Items.Clear();

 ddlBankName.Items.Insert(0, new ListItem("Select", ""));
 clsDataAccess cls = new clsDataAccess();

 string sql = "SELECT BANK_ID,BANK_DESC FROM Master";

 DataTable dt = cls.GetDataTable(sql);

 ddlBankName.DataTextField = "BANK_DESC";
 ddlBankName.DataValueField = "BANK_ID";

 ddlBankName.DataSource = dt;
 ddlBankName.DataBind();
}

暫無
暫無

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

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