碰上个怪问题,搞了一天了,请高手指点
照片类别: <asp:DropDownList ID= "ddlProductClass " runat= "server " AutoPostBack= "True " OnSelectedIndexChanged= "ddlClass_SelectedIndexChanged ">
</asp:DropDownList>
<asp:DropDownList ID= "ddlProductSmallClass " runat= "server ">
</asp:DropDownList>
//前台两个下拉菜单,选择大类和小类的。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindClass();
BindSmallClass();
if (this.ddlProductSmallClass.Items.Count == 0)
{
ListItem lt = new ListItem( "暂无分类 ", "0 ");
ddlProductSmallClass.Items.Add(lt);
}
}
}
protected void BindClass()
{
DataTable dt = new DataTable();
myDAL.GetClassName(dt);
ddlProductClass.Items.Clear();
ddlProductClass.DataSource = dt;
ddlProductClass.DataTextField = "P_ClassName ";
ddlProductClass.DataValueField = "ID ";
ddlProductClass.DataBind();
}
protected void BindSmallClass()
{
DataTable dt = new DataTable();
myDAL.GetSmallClassByClassID(Convert.ToInt32(ddlProductClass.SelectedValue), dt);
ddlProductSmallClass.Items.Clear();
ddlProductSmallClass.DataSource = dt;
ddlProductSmallClass.DataTextField = "P_Name ";
ddlProductSmallClass.DataValueField = "ID ";
ddlProductSmallClass.DataBind();
}
protected void ddlClass_SelectedIndexChanged(object sender, EventArgs e)
{
BindSmallClass();
}
//这里绑定大类,根据大类绑定小类。但我考虑到有些没有分小类的,所以做了判断,结果新开页面显示正常,但大类选择另一个时,如果是有小类的,显示正常,没有小类的会显空白,不会显 "暂无分类 "四个字。
如果有朋友能解决这个问题而这里代码又不齐全的,可以加我QQ:8324775或是留下QQ号码,非常感谢。
[解决办法]
if (this.ddlProductSmallClass.Items.Count == 0)
{
ListItem lt = new ListItem( "暂无分类 ", "0 ");
ddlProductSmallClass.Items.Add(lt);
}
写到
protected void BindSmallClass()
里面试试