无限分类显示的问题 想要上面的左边菜单效果,点击大类可以显示隐藏小类,现在我把所有的数据都读取到Ilist中了CategoryManage categoryManage = new CategoryManage(); IList<CategoryInfo> List = categoryManage.GetList(0);如果把List绑定到Repeater中,可以按正确的顺序显示出来,现在就是不知道要怎么才能按图中格式来显示,麻烦大家给个思路,谢谢。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我今天刚好下了飞梦的文章管理 这种情况需要两个Repeater嵌套 大的Repeater根据类别id形成的elementid来控制新生成的小类别列表的显示问题 比如福建新闻的id=10 则福建那行的td或者div的id可以定义为 big_10而厦门和福州在内的整个div或者table可以命名为small_10那么鼠标点击big_10 则可以随意控制small_10的显示与否了 string blank = " "; protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { string body = ShowNodes(0, 0); lblBody.Text = body; } } private string ShowNodes(int pid, int level) { string body = ""; DataTable dt = da.Query("select * from DropDownList where ParentId=" + pid.ToString()); for (int i = 0; i < dt.Rows.Count; i++) { string space = ""; for (int j = 0; j < level; j++) { space += blank; } body += "<br>" + space + dt.Rows[i]["MyName"].ToString(); body += "<a style='font-size:12px' href='#' " + "onclick='showDialog(\""+dt.Rows[i]["MyId"].ToString()+"\",\""+ dt.Rows[i]["MyName"].ToString()+"\")'>添加子节点</a>"; body += ShowNodes(Convert.ToInt32(dt.Rows[i]["MyId"].ToString()), level+1); } return body; }用递归,每增加一级就加几个空格不就行了!上面那个是拼凑字符串,实际应用的时候要用StringBuilder 点击隐藏这个就更简单了,绑定数据的时候给个ID,然后弄一个onclick事件,点击的时候隐藏那个div就行了! 顶5楼的、用sb在后台拼接吧、至于repeater的嵌套。因为目录级别未定、所以不好弄。 不定要什么repeater嵌套,看你的数据表的分类设计了,可建立一个排序字段,然后显示数据时,给二级三级...等非父级栏目添加相应的样式来缩进区分,这个可在itemdatabound事件中事项,也可以js赋值样式 请问猫扑论坛的框架左边是如何把超链接传递到右边的。 怎样在asp.net中单独写个类来读取xml文件 表单验证问题 网站地图 怎么从calendar控件上获取选中天的日期?在线等答。谢谢各位了! 关于Form验证 急啊!一个ajax问题,劳烦大家帮忙解决下 如何用代码关闭模态窗口 初学ASP.NET,不知如何下手. asp.net 简单问题 关于cookie CustomValidator
大的Repeater根据类别id形成的elementid来控制新生成的小类别列表的显示问题
而厦门和福州在内的整个div或者table可以命名为small_10
那么鼠标点击big_10 则可以随意控制small_10的显示与否了
string blank = " ";
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string body = ShowNodes(0, 0);
lblBody.Text = body;
}
}
private string ShowNodes(int pid, int level)
{
string body = "";
DataTable dt = da.Query("select * from DropDownList where ParentId=" + pid.ToString());
for (int i = 0; i < dt.Rows.Count; i++)
{
string space = "";
for (int j = 0; j < level; j++)
{
space += blank;
}
body += "<br>" + space + dt.Rows[i]["MyName"].ToString();
body += "<a style='font-size:12px' href='#' " +
"onclick='showDialog(\""+dt.Rows[i]["MyId"].ToString()+"\",\""+
dt.Rows[i]["MyName"].ToString()+"\")'>添加子节点</a>";
body += ShowNodes(Convert.ToInt32(dt.Rows[i]["MyId"].ToString()), level+1);
}
return body;
}
用递归,每增加一级就加几个空格不就行了!
上面那个是拼凑字符串,实际应用的时候要用StringBuilder