注册 登录
编程论坛 ASP.NET技术论坛

请教一个循环显示问题

whj220 发布于 2007-01-10 16:54, 820 次点击
小弟才学.net不久,现在遇到一个问题,请知道的朋友帮忙解答一下,就是如何实现循环中套循环呀,例如显示省份的同时,把所属的省份下的城市也显示出来,省份是循环的,同时省份下的城市也是循环的,以前在ASP中循环显示在两次循环就可以了,现在.net是前台和后台代码是分开的,所以就不知道如何做了,请大家帮忙一下,非常感谢!
13 回复
#2
小天狼星2007-01-10 18:46
在第一个下拉列表中有个响应事件,onchenge,利用这个就可以做到了
#3
YSKING2007-01-10 21:35
在控件的事件里实现
#4
whj2202007-01-11 08:35
你们还是没有理解我的意思,我不是要做二级联动,其实已经做好了,现在就是如何在页面上显示的问题了,
#5
小天狼星2007-01-11 09:33
二级联动你都会了,那剩下的还要问吗?你吧表ID绑定到DropdownList的value属性,这样就能获取到ID值了
#6
bygg2007-01-11 13:11
那你还想怎么显示??
#7
whj2202007-01-11 13:34
只有本站会员才能查看附件,请 登录


就类似这种效果,其中带(★)表示一级分类,没有(★)的是二级分类,先显示一级分类,然后下面显示与一级分类有关的二级分类,然后以此类推,一直循环下去,
这下明白我的意思了吧,
#8
小天狼星2007-01-11 13:43
拼html页面
#9
summoner2007-01-11 13:59
写一个调用自身的方法,比较麻烦
#10
bygg2007-01-11 14:35
用 TreeView
或者用 JavaScript
#11
Kendy1234562007-01-11 14:46

拼SQL语句 把一二级显示的内容放到一个dataset里面
然后用listview treeview gridview都可以显示

#12
whj2202007-01-11 15:47
以下是引用Kendy123456在2007-1-11 14:46:32的发言:

拼SQL语句 把一二级显示的内容放到一个dataset里面
然后用listview treeview gridview都可以显示

这些偶都没用过,可能提供一些代码,谢谢
#13
Kendy1234562007-01-11 16:42

简单的说 就是把你想显示的数据放在一个data table中 绑定到控件上去

如果数据在数据库中 就用select name = case when level = 1 then '*'+ 排行榜 else 排行榜 end
from table1 ---(如果是一级条目前面加个*显示)
unoin all select name = ' ', level = ' ' ----(2个一级条目间加一个空行)
union all select name = case when level = 1 then '*'+ 概况 else 概况 end
from table2
unoin all select name = ' ', level = ' '
union all select name=case when level = 1 then '*'+ 友情链接 else 友情链接 end from table3
unoin all select name = ' ', level = ' '
....
这样的方式返回一个数据表, 然后绑定到控件的datasource

如果不用数据库 直接在代码端hard code 那就自己定义一个data table,定义一个字符类型的字段,
然后定义一个datarow,给它赋值 再add到table中 直到你枚举完所有要显示的内容

Dim tbl As New DataTable
Dim dr As DataRow, dc As DataColumn
dc = New DataColumn("Name")
dc.DataType = System.Type.GetType("System.string")
tbl.Columns.Add(dc)
dr = tbl.NewRow
dr("name") = "* 本社图片排行榜"
tbl.Rows.Add(dr)
....
一行行加吧...这个办法很笨的 最后binding到控件

#14
xiwdan2007-05-03 17:37
用 TreeView,很简单的
拖个控件就行了
1