C# 中的 DropDownList 清除选择 ASP.Net
DropDownList Clear Selection in C# ASP.Net
我在一个下拉列表中列出了员工姓名。通过 selecting 任何员工,我在数据库中的 gridview 中显示员工详细信息。
默认情况下,下拉列表的第一个项目是 selected item.So 当我 select 另一个项目它 returns 只有第一个索引。
我的代码:
protected void FilterBtn_Click(object sender, EventArgs e)
{
if (EmployeeList.SelectedIndex > -1)
{
sInitQuery = sInitQuery + " WHERE (EmployeeName ='" + EmployeeList.SelectedItem.ToString() + "')";
}
if (GlobalCS.OpenConnection() == true)
{
GridView1.DataSource = null;
GridView1.DataBind();
MySqlCommand cmd = new MySqlCommand(sInitQuery, GlobalCS.objMyCon);
MySqlDataReader reader = cmd.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
reader.Close();
}
GlobalCS.CloseConnection();
EmployeeList.ClearSelection();
}
将您的页面加载代码置于 if 条件中,以便它在页面加载时第一次执行,否则每当 post 返回时页面加载被调用并且您的代码将被执行,这就是它的原因每次都设置为第一项:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
DisplayDatainGrid(); //All data in GridView
AddDataDropList(); //Load data in Dropdownlist
}
}
目前每次执行您的页面加载代码时都不应发生这种情况。
将 EmployeeList.SelectedIndex 添加到 ViewState。
protected void EmployeeList_SelectedIndexChanged(object sender, EventArgs e)
{
ViewState.Add("employeeListIndex", EmployeeList.SelectedIndex);
}
然后,在Page_Load中,读取ViewState并赋值给EmployeeList.SelectedIndex。
void Page_Load(object sender, EventArgs e)
{
if(ViewState["employeeListIndex"] != null)
{
EmployeeList.SelectedIndex = ViewState["employeeListIndex"];
{
}
我在一个下拉列表中列出了员工姓名。通过 selecting 任何员工,我在数据库中的 gridview 中显示员工详细信息。
默认情况下,下拉列表的第一个项目是 selected item.So 当我 select 另一个项目它 returns 只有第一个索引。 我的代码:
protected void FilterBtn_Click(object sender, EventArgs e)
{
if (EmployeeList.SelectedIndex > -1)
{
sInitQuery = sInitQuery + " WHERE (EmployeeName ='" + EmployeeList.SelectedItem.ToString() + "')";
}
if (GlobalCS.OpenConnection() == true)
{
GridView1.DataSource = null;
GridView1.DataBind();
MySqlCommand cmd = new MySqlCommand(sInitQuery, GlobalCS.objMyCon);
MySqlDataReader reader = cmd.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
reader.Close();
}
GlobalCS.CloseConnection();
EmployeeList.ClearSelection();
}
将您的页面加载代码置于 if 条件中,以便它在页面加载时第一次执行,否则每当 post 返回时页面加载被调用并且您的代码将被执行,这就是它的原因每次都设置为第一项:
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
DisplayDatainGrid(); //All data in GridView
AddDataDropList(); //Load data in Dropdownlist
}
}
目前每次执行您的页面加载代码时都不应发生这种情况。
将 EmployeeList.SelectedIndex 添加到 ViewState。
protected void EmployeeList_SelectedIndexChanged(object sender, EventArgs e)
{
ViewState.Add("employeeListIndex", EmployeeList.SelectedIndex);
}
然后,在Page_Load中,读取ViewState并赋值给EmployeeList.SelectedIndex。
void Page_Load(object sender, EventArgs e)
{
if(ViewState["employeeListIndex"] != null)
{
EmployeeList.SelectedIndex = ViewState["employeeListIndex"];
{
}