我想做个无限级的子分类
数码
--手机
---诺基亚
----920
服装
--鞋子
---运动鞋按这个样子来嵌套显示,,我的源代码是
Response.Write("<select name=\"category\" value=\"0\">\n");
if (dt.Rows.Count > 1)
{
//第一层开始
foreach (DataRow dr in dt.Rows)
{
Response.Write("<option value=\"" + dr["id"].ToString() + "\">" + dr["name"].ToString() + "</option>\n");
//第二层开始
DataTable dt1 = ad.SelectCategory(dr["id"].ToString());
if (dt1.Rows.Count > 0)
{
foreach (DataRow dr1 in dt1.Rows)
{
Response.Write("<option value=\"" + dr1["id"].ToString() + "\">-" + dr1["name"].ToString() + "</option>\n");
//第三层开始
DataTable dt2 = ad.SelectCategory(dr1["id"].ToString());
if (dt2.Rows.Count > 0)
{
foreach (DataRow dr2 in dt2.Rows)
{
Response.Write("<option value=\"" + dr2["id"].ToString() + "\">--" + dr2["name"].ToString() + "</option>\n");
}
}
//第三层结束
}
}
//第二层结束
}
//第一层结束
}
else
{
Response.Write("<option value=\"0\">一级分类</option>\n");
}
Response.Write("</select><br/>");这样根本无法实现无限分类,我是新手,请求高手指导,谢谢
数码
--手机
---诺基亚
----920
服装
--鞋子
---运动鞋按这个样子来嵌套显示,,我的源代码是
Response.Write("<select name=\"category\" value=\"0\">\n");
if (dt.Rows.Count > 1)
{
//第一层开始
foreach (DataRow dr in dt.Rows)
{
Response.Write("<option value=\"" + dr["id"].ToString() + "\">" + dr["name"].ToString() + "</option>\n");
//第二层开始
DataTable dt1 = ad.SelectCategory(dr["id"].ToString());
if (dt1.Rows.Count > 0)
{
foreach (DataRow dr1 in dt1.Rows)
{
Response.Write("<option value=\"" + dr1["id"].ToString() + "\">-" + dr1["name"].ToString() + "</option>\n");
//第三层开始
DataTable dt2 = ad.SelectCategory(dr1["id"].ToString());
if (dt2.Rows.Count > 0)
{
foreach (DataRow dr2 in dt2.Rows)
{
Response.Write("<option value=\"" + dr2["id"].ToString() + "\">--" + dr2["name"].ToString() + "</option>\n");
}
}
//第三层结束
}
}
//第二层结束
}
//第一层结束
}
else
{
Response.Write("<option value=\"0\">一级分类</option>\n");
}
Response.Write("</select><br/>");这样根本无法实现无限分类,我是新手,请求高手指导,谢谢
解决方案 »
- WebBrowser调用问题
- 关于using System.Web.UI.HtmlControls的引用问题
- 购物网站的放大效果是怎么做的?
- 当在DataGrid中使用ItemCommand的时候,分页功能出现问题。
- VS2005+Surfer8出现检索 COM 类工厂中 CLSID 错误
- 使用window.showModalDialog保存数据后返回刷新主页面,总是弹出该窗口,各位有高招指点一下?
- 网站后台文件的配置
- 如何计算两个日期当中间隔的双休日天数?
- Seesion报取不到值的问题 、在线等,急
- asp.net可以编写样式吗?如果可以的怎么编写呢/
- 页面之间传值的问题
- JQuery操作CheckBoxList的问题
{
DataTable dt = ad.SelectCategory(string parentId); if (dt.Rows.Count > 1)
{
Response.Write("<select name=\"category\" value=\"0\">\n");
//第N层开始
foreach (DataRow dr in dt.Rows)
{
Response.Write("<option value=\"" + dr["id"].ToString() + "\">" + dr["name"].ToString() + "</option>\n");
buildTree(dr["id"].ToString() )
}
Response.Write("</select><br/>"); }
}
这样试试?
foreach (DataRow dr in dt.Rows)
{
Response.Write("<option value=\"" + dr["id"].ToString() + "\">" + dr["name"].ToString() + "</option>\n");
main(ad.SelectCategory(dr["id"].ToString()));
}
}
private void page(){
Response.Write("<select name=\"category\" value=\"0\">\n");
main(dt);
Response.Write("</select><br/>");}