C# 使用第三级子菜单限定第二级菜单
我有3个下拉列表“类别”、“类别类型”和“类别类型样式”。所有3个都是从数据库填充的 类别类型是基于在“类别”下拉列表中所做的选择填充的 我希望CategoryType样式基于在CategoryType中所做的选择进行填充,从而提供选择为CategoryType样式的选项 我的Category和Category Type工作正常,但无法正确获得CategoryType样式部分。任何帮助都将不胜感激。CSS代码如下所示:C# 使用第三级子菜单限定第二级菜单,c#,css,asp.net,sql-server,C#,Css,Asp.net,Sql Server,我有3个下拉列表“类别”、“类别类型”和“类别类型样式”。所有3个都是从数据库填充的 类别类型是基于在“类别”下拉列表中所做的选择填充的 我希望CategoryType样式基于在CategoryType中所做的选择进行填充,从而提供选择为CategoryType样式的选项 我的Category和Category Type工作正常,但无法正确获得CategoryType样式部分。任何帮助都将不胜感激。CSS代码如下所示: protected void Page_Load(object sender
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlCategory.DataSource = GetData("spGetCategory", null);
ddlCategory.DataBind();
ListItem liCategory = new ListItem("Select A Category", "-1");
ddlCategory.Items.Insert(0, liCategory);
ListItem liCategoryType = new ListItem("Select A Category Type", "-1");
ddlCategoryType.Items.Insert(0, liCategoryType);
ddlCategoryType.Enabled = false;
ListItem liStyle = new ListItem("Select A Style", "-1");
ddlStyle.Items.Insert(0, liStyle);
ddlStyle.Enabled = false;
}
protected void ddlCategory_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddlCategory.SelectedIndex == 0)
{
ddlCategoryType.SelectedIndex = 0;
ddlCategoryType.Enabled = false;
}
else
{
ddlCategoryType.Enabled = true;
SqlParameter parameter = new SqlParameter("@CategoryID", ddlCategory.SelectedValue);
DataSet DS = GetData("spGetCategoryTypeByCategoryID", parameter);
ddlCategoryType.DataSource = DS;
ddlCategoryType.DataBind();
ListItem liCategoryType = new ListItem("Select A Category Type", "-1");
ddlCategoryType.Items.Insert(0, liCategoryType);
}
if (ddlCategoryType.SelectedIndex == 0)
{
ddlStyle.SelectedIndex = 0;
ddlStyle.Enabled = false;
}
else
{
ddlStyle.Enabled = true;
SqlParameter parameter = new SqlParameter("@CategoryTypeID", ddlCategoryType.SelectedValue);
DataSet DS = GetData("spGetStyleByCategoryTypeID", parameter);
ddlStyle.DataSource = DS;
ddlStyle.DataBind();
ListItem liStyle = new ListItem("Select A Style", "-1");
ddlStyle.Items.Insert(0, liStyle);
}
}
任何帮助都将不胜感激
我尝试了一个只针对CategoryType的Indexchange,但它也不起作用。代码:protectedvoid ddlCategoryType_SelectedIndexedChanged(对象发送方,事件参数e)
{
如果(ddlCategoryType.SelectedIndex==0)
{
ddlStyle.SelectedIndex=0;
ddlStyle.Enabled=false;
}
其他的
{
ddlStyle.Enabled=true;
SqlParameter参数=新的SqlParameter(“CategoryTypeID”,ddlCategoryType.SelectedValue);
数据集DS=GetData(“spGetStyleByCategoryTypeID”,参数)
当然,您需要一个ddlCategoryType_SelectedIndexChanged来处理填充样式ddl?Darren,我尝试了查看上面的编辑。我也按照您的建议进行了尝试。我认为,由于CategoryType与类别绑定,直接索引交换将不起作用。
ddlStyle.DataSource = DS;
ddlStyle.DataBind();
ListItem liStyle = new ListItem("Select A Style", "-1");
ddlStyle.Items.Insert(0, liStyle);
}
}