首页文章分类排放的问题现在显示栏目用的是<asp:repeater>循环显示所有的栏目,这个没有问题关键是显示栏目下面的文章说明一下:在存放文章的wyx_text表里,有一个wyx_class的列对应的是存放栏目的wyx_class表里的wyx_id列有人说用循环嵌套的方式显示,我的理解是在<asp:repeater>中间嵌入诸如GridView、Datalist或者DataGrid等控件但是我试了不行,用这种方法,如果将GridView的ID设为wyxList,程序运行时提示无法找到wyxList我想用函数方式的DataReader循环输出文章列表好了,文章能显示了,因为它是把所有的文章都显示出来,而不是相对应的分栏目显示于是我在函数方式的DataReader循环输出文章列表加个条件Socut.Reader dr = new Socut.Reader("SELECT * FROM wyx_text WHERE wyx_class="+classid);问题来了,classid怎么获取wyx_class里的wyx_id值?请看前后台代码
【前台代码】:
<asp:repeater id="wyxList" runat="server"><ItemTemplate>
                  <table width="85%"  border="0" align="center" cellpadding="0" cellspacing="0">
                      <tr bgcolor="#93C8D2">
                          <td height="28" colspan="2" bgcolor="#E7E7E7" class="popt_1" style="color: #000000; font-size: 14px; text-align: left;">
                              &nbsp;◎ <%# DataBinder.Eval(Container.DataItem,"wyx_classname") %>
                          </td>
                          <td align="right" valign="middle" bgcolor="#CCCCCC" style="width: 123px">
                              <div align="center">
                                  <span style="color: #000000"><a href="list.aspx?classid=<%# DataBinder.Eval(Container.DataItem,"wyx_id") %>" target="_blank">更多</a></span></div>
                          </td>
                      </tr>
                      <tr bgcolor="#FFFFFF">
                          <td colspan="2" height="21" style="text-align: left"><%=textlist() %>
                            </td>
                          <td align="center" class="popt_5" style="font-size: 14px; width: 123px;" height="21">
                          
</td>
                      </tr>
                  </table>【后台代码】:    protected void Page_Load(object sender, EventArgs e)
    {        //显示栏目分类
        DataSet ds = Socut.Data.ExecuteDataSet("SELECT * FROM wyx_class ORDER BY wyx_classsort ASC");
        string classid = "wyx_id";
        wyxList.DataSource = ds;  //设置数据源 
        wyxList.DataBind();       //绑定数据
        
         
    }        public string textlist()
    {
        string strBody = null;
        
        Socut.Reader dr = new Socut.Reader("SELECT * FROM wyx_text");
        while (dr.Read())    //使用while循环,表示从头一直查找到尾 
        {
            strBody += "·" + "<a href='view.aspx?id="+dr["wyx_id"]+"' target=_blank>"+dr["wyx_title"].ToString() + "</a><br>";                     //使用“+=”累加数据 
        }
        dr.Close();//
        return strBody;    }
附上数据库表的结构图:wyx_class表(栏目分类):
字段:wyx_id(自动编号),wyx_classname(分类名称),wyx_classsort(分类排序)
wyx_text表(文章内容):
字段:wyx_id(自动编号),wyx_class(栏目类别),wyx_title(标题),wyx_autho(文章作者),wyx_date(录入日期),wyx_content(文章内容)
注:其中wyx_text表中的wyx_class字段对应wyx_class表中的wyx_id字段,它俩是一样的比如说栏目小说的wyx_id=1,那所有小说的文章的wyx_class值都应该为1

解决方案 »

  1.   

    classid怎么获取wyx_class里的wyx_id值==============================================
    再写个SQL取这个wyx_id不可以吗?
    这两张表的结构类似于:“分类,产品” 这样的结构吧?
    应该可以取到啊
      

  2.   

    我觉得这样的还是用repeater嵌套来做比较好吧
      

  3.   

    repeater里面可以嵌套repeater吗?好像不行吧?
      

  4.   

    Animatrix :具体怎么取呀?我是个菜鸟前后台代码已经贴出来了,很简单,但就是搞不通,麻烦前辈能不能写一下?