如何冻结DropDownList的值?

时间:2014-12-23 14:51:44

标签: c# asp.net sql-server-2012

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

  • A
  • C
  • d
  • 电子
  • ˚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 = "";

2 个答案:

答案 0 :(得分:1)

填充你的下拉列表的代码(你没有发布,所以我们不知道你在那里做什么)。我猜这需要进入'Page_Load'并包含在if (!IsPostBack)

看起来应该是这样的:

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


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

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

答案 1 :(得分:0)

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

dropDownMenu.SelectedIndex =-1;