如何冻结下拉列表的值

本文关键字:下拉列表 冻结 何冻结 | 更新日期: 2023-09-27 18:35:17

在项目的搜索部分,我有一个DropDownList,其值来自数据库。例如:

  • 一个
  • C
  • D
  • E
  • F

我有一个SqlDataSource将查询与GridView绑定.

我的问题是,每当我从DropDownList中选择一个值时,它会自动选择第一个值,例如 A。下面的代码位于搜索按钮中:

SqlDataSource1.SelectCommand = 
      "SELECT Name,Subject,Summery "+
      "FROM Books "+
      "WHERE Subject= N'" + subList.SelectedItem.Value + "' "+
      "AND Name= N'" + searchName.Text + "'";
GridView1.DataSourceID = SqlDataSource1.ID;
GridView1.DataBind();
if (GridView1.Rows.Count.ToString() == "0")
   lable1.Text = ("Couldn't find it.");
else
   lable1.Text = "";

如何冻结下拉列表的值

填充

下拉列表的代码(您尚未发布,因此我们不知道您在那里做什么)。我猜这需要进入"Page_Load"并包裹在if (!IsPostBack)

它应该看起来像这样:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        LoadMyDropDown();
    }
}

private void LoadMyDropDown()
{
    //Code to load dropdownlist
}

您遇到的问题是,每次刷新/更新页面时,数据都会重新绑定到下拉列表。

绑定下拉菜单后尝试此操作。

dropDownMenu.SelectedIndex =-1;