学着做一个论坛。后台基本上写好了。
现在index页面有地方解决不了。
数据库ACCESS
注意我的问题开始了。答非所问不给分,本来想多给。好象最多只能给100分。
----------------------------------
class表
classid    classname
------------------------------
forum
forumid    forum_classid      forumname
----------------------------------------------
现在我要做一个论坛首页。
注意:我们用“Repeater”而不用DataList和其他的!!!
定义:
protected Repeater classList=new Repeater();
protected Repeater forumList=new Repeater();private void foruminfo()
{
  string strSql = "select classid,classname from class";
  this.InitConn();//这个连接打开数据过程。
  base.ExecReader(strSql);
  classList.DataSource = this.oDr;
  classList.DataBind()
  for(int i=0;i<classList.Items.Count;i++)
  {
     this.Assornum = i;//这个是我做的一个测试。可以正确获取i的值。
     我先分类下的版块应该是在这个地方写,由于小弟水平有限,不知道该怎么写,请各位高手大哥,把这个地方的内容添一下。获取用其他的语句告诉小弟弟怎么弄。
           
  }}

解决方案 »

  1.   

    <table cellSpacing="1" cellPadding="3" width="748" align="center" class="tbbk1">
                <asp:repeater id="repeaterClass" runat="server">
                    <headertemplate>
                        <tr class="tdbk3">
                            <td width="30"></td>
                            <td>论坛</td>
                            <td width="150">说明</td>
                            <td width="100">斑竹</td>
                            <td width="50">主题</td>
                            <td width="50">回复</td>
                            <td>最后发表</td>
                        </tr>
                    </headertemplate>
                    <itemtemplate>
                        <tr class="tdbk2">
                            <td><img src="images/img1.gif"></td>
                            <td colspan="6" align="left"><%# DataBinder.Eval(Container.DataItem,"Class_Name") %></td>
                        </tr>
                        <asp:Repeater id="repeaterBoard" runat="server" datasource='<%# ((DataRowView)Container.DataItem).Row.GetChildRows("Board_Class")%>'>
                            <itemtemplate>
                                <tr class="tdbk1">
                                    <td><img src='images/board_state_<%# DataBinder.Eval(Container.DataItem,"[\"Board_State\"]")%>.gif'></td>
                                    <td>
                                        <a title="进入这个板块" href='main.aspx?Board_ID=<%# DataBinder.Eval(Container.DataItem,"[\"Board_ID\"]")%>'><%# DataBinder.Eval(Container.DataItem,"[\"Board_Name\"]")%></a>
                                    </td>
                                    <td><%# DataBinder.Eval(Container.DataItem,"[\"Board_Brief\"]") %></td>
                                    <td>斑竹</td>
                                    <td><%# DataBinder.Eval(Container.DataItem,"[\"Board_TopicNum\"]") %></td>
                                    <td><%# DataBinder.Eval(Container.DataItem,"[\"Board_ReplyNum\"]") %></td>
                                    <td class="pad">
                                        <a title="转到这个帖子" href='topic.aspx?Topic_ID=<%# DataBinder.Eval(Container.DataItem,"[\"Board_LastPost_Topic_ID\"]") %>'><%# DataBinder.Eval(Container.DataItem,"[\"Board_LastPost_Topic_Subject\"]") %></a>
                                        <br>
                                        <a title="查看这个用户" href='user.aspx?User_ID=<%# DataBinder.Eval(Container.DataItem,"[\"Board_LastPost_Topic_PostUser_ID\"]") %>'><%# DataBinder.Eval(Container.DataItem,"[\"Board_LastPost_Topic_PostUser_Name\"]") %></a>
                                        于
                                        <%# DataBinder.Eval(Container.DataItem,"[\"Board_LastPost_Topic_PostTime\"]") %>
                                    </td>
                                </tr>
                            </itemtemplate>
                        </asp:Repeater>
                    </itemtemplate>
                </asp:repeater>
            </table>
      

  2.   

    # region 论坛首页类别和板块数据
            public static DataSet GetClassAndBoard()
            {
                if(System.Web.HttpContext.Current.Cache["ClassAndBoard"]==null)
                {
                    DataSet ds=new DataSet();
                    SqlHelper.FillDataset(Conn.strconn,CommandType.StoredProcedure,"sp_SelectClass",ds,new string[]{"tb_class"});
                    SqlHelper.FillDataset(Conn.strconn,CommandType.StoredProcedure,"sp_SelectBoard",ds,new string[]{"tb_board"});
                    ds.Relations.Add("Board_Class",ds.Tables["tb_class"].Columns["Class_ID"],ds.Tables["tb_board"].Columns["Board_Class_ID"]);
                    System.Web.HttpContext.Current.Cache["ClassAndBoard"]=ds;
                    return ds;
                }
                else
                {
                    return (DataSet)System.Web.HttpContext.Current.Cache["ClassAndBoard"];
                }
            }
            # endregion
      

  3.   

    另外可以看看
    http://dotnet.aspx.cc/ShowDetail.aspx?id=54F4C732-AAE2-4135-FB1B-7B4B613BAA33