两个dropdownlist,点击前一个时,另一个根据前面选择的值的显示一组数据,
第一次正常,第二次点击前面的时,后面的dropdownlist显示的一组数据包含了前一次的就是说在前一次的结果上添加了这次点击获得的数据但是我只要这次点击获得的数据第一个...
第一次正常,
第二次点击前面的时,后面的dropdownlist显示的一组数据包含了前一次的
就是说在前一次的结果上添加了这次点击获得的数据
但是我只要这次点击获得的数据
第一个为不用代码绑定的
第二个为代码绑定
protected void DropDownListInstitute_SelectedIndexChanged(object sender, EventArgs e)
{
int instituteId = 0;
instituteId = Convert.ToInt32(DropDownListInstitute.SelectedValue);
if (instituteId > 0)
{
string sqlGetMajorList = "select MajorName,MajorId from T_majorinfo where InstituteId=" + instituteId + "";
DataSet dsMadjor = new DataSet();
QueryDataBase qdb = new QueryDataBase();
dsMadjor = qdb.Query(sqlGetMajorList); //我定义的一个返回dataset的方法
DropDownListMajor.DataSource = dsMadjor;
DropDownListMajor.DataTextField = "MajorName"; //绑定显示名称的字段,此处为专业名字
DropDownListMajor.DataValueField = "MajorId"; //绑定值的字段,此处为专业id
DropDownListMajor.DataBind();
}
} 展开
第二次点击前面的时,后面的dropdownlist显示的一组数据包含了前一次的
就是说在前一次的结果上添加了这次点击获得的数据
但是我只要这次点击获得的数据
第一个为不用代码绑定的
第二个为代码绑定
protected void DropDownListInstitute_SelectedIndexChanged(object sender, EventArgs e)
{
int instituteId = 0;
instituteId = Convert.ToInt32(DropDownListInstitute.SelectedValue);
if (instituteId > 0)
{
string sqlGetMajorList = "select MajorName,MajorId from T_majorinfo where InstituteId=" + instituteId + "";
DataSet dsMadjor = new DataSet();
QueryDataBase qdb = new QueryDataBase();
dsMadjor = qdb.Query(sqlGetMajorList); //我定义的一个返回dataset的方法
DropDownListMajor.DataSource = dsMadjor;
DropDownListMajor.DataTextField = "MajorName"; //绑定显示名称的字段,此处为专业名字
DropDownListMajor.DataValueField = "MajorId"; //绑定值的字段,此处为专业id
DropDownListMajor.DataBind();
}
} 展开
展开全部
DropDownListMajor.Clear 就可以了,就是清空一下就行,在绑定数据的开始时候清空,这样重新绑定一次就不会出现这个情况了。
追问
“System.Web.UI.WebControls.DropDownList”不包含“Clear”的定义,并且找不到可接受类型为“System.Web.UI.WebControls.DropDownList”的第一个参数的扩展方法“Clear”(是否缺少 using 指令或程序集引用?)?????????
追答
可能不是直接DropDownListMajor.Clear这样,或许是DropDownListMajor.items.Clear反正是把它数据源清空的方法。自己找吧...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询