Получить значение из базы данных, выбранное в выпадающем списке - PullRequest
0 голосов
/ 24 сентября 2019

У меня есть страница asp, в которой у меня есть выпадающий список.Полный список значений связан в выпадающем списке из таблицы базы данных «а».После выбора любого значения из этого выпадающего списка, я сохраняю его в таблицу базы данных "b". Теперь на 2-й странице 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();
}

Я не могу этого сделать.Пожалуйста, помогите !!

1 Ответ

0 голосов
/ 24 сентября 2019

Лично я думаю, что было бы лучше, чтобы заполнить Dropdown в вашей CS и установить значение там же.

<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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...