日期:2014-05-20  浏览次数:20436 次

论坛各位大哥帮帮我呀,都发了三贴了!
我在做论坛时遇到一个这样的问题,就是在显示一个主题及本主题的回复的那个页面时,到底是用一个datalist   还是用两个datalist   .我的主题和回复是放在两张表中的.如果那个主题不用datalist来显示而直接用一张表格来显示,那么数据又该如何绑定呢???已经发了几个贴了,希望遇到过同样问题的朋友帮帮忙,说说自己是如何解决的,本人不胜感激!先谢了!!
我的QQ:179865967

------解决方案--------------------
当然用两个,另外楼主最好用repeater,因为repeater不带样式,速度快
用两个,然后在sql中绑定父子关系就可以了,注意是两个sql,查询出后在ds里绑定关系
cs文件
DataSet ds = video_bll.broker.brokerPageflip(startIndex, size ,out rowcount);
DataRelation brokerinfo=new DataRelation( "broker ",ds.Tables[0].Columns[ "id "],ds.Tables[1].Columns[ "parentid "],false);
ds.Relations.Add(brokerinfo);
Repeater1.DataSource = ds.Tables[0];
Repeater1.DataBind();
前台aspx
<asp:Repeater ID= "Repeater1 " Runat= "server ">
<ItemTemplate>
<table width= "450 " height= "56 " border= "0 " cellpadding= "3 " cellspacing= "3 ">
<tr>
<td width= "91 " align= "center " valign= "top " bgcolor= "#efefef "> <a href= ' <%# "brokernewsdetail.aspx?id= "+DataBinder.Eval(Container.DataItem, "id ")%> '> <img src= ' <%#DataBinder.Eval(Container.DataItem, "picsmall ")%> ' width= "60 " height= "60 " border= "0 " class= "ico_yygg "> </a> </td>
<td width= "15 " align= "left " valign= "top " bgcolor= "#e8e8e8 " class= "txt_yrggname "> &nbsp; </td>
<td width= "351 " align= "left " valign= "top " class= "txt_common "> <span class= "txt_yrggname "> <%#DataBinder.Eval(Container.DataItem, "name ")%> </span> <br>
<span class= "txt_left_list ">
<asp:Repeater ID= "Repeater2 " Runat= "server " DataSource= ' <%#((DataRowView)Container.DataItem).CreateChildView( "broker ")%> '>
<ItemTemplate>
<a href= ' <%# "brokernewsdetail.aspx?id= "+DataBinder.Eval(Container.DataItem, "id ")%> ' target= "_blank "> <%#DataBinder.Eval(Container.DataItem, "title ")%> </a> <br>
</ItemTemplate>
</asp:Repeater>
</span>

</td>
</tr>
</table>
</ItemTemplate>
</asp:Repeater>
------解决方案--------------------
楼上二种方法都可以的

或者,在发帖子时,把帖子写入回复表,当做第一个回复(其实是帖子),这样就不用多表查询了
------解决方案--------------------
用一个也可以 ,你可以通过SQL语句把内容读出来,具体不知道你怎么显示,说一不好说,
join语句
------解决方案--------------------
最好就是在做SQL时候就把数据弄好,把SQL写复杂点,如果还不行 就写个DATATABLE,自己建立行一次一次往里加数据 然后给DATALIST绑定
------解决方案--------------------
还可以用datalist嵌套
主题用一个datalist:
内容用一个datalist嵌套在主题的datalist里