如图
这是一个repeater显示的
现在想要这么一个结果。 科技部
-------这里放一些文字
-----
各省------这是放文字+链接
--------浙江省各地级市 ---------
放文字
---------杭州13县市区---------
放文字
---------经济强区县
-------放文字 
------
就是这种效果放一个repeater里
数据也全都是一个数据库取
数据库字段lid      name          url         fid                                      show                         cid
(ID)   (链接名称)  (链接)   (1代表专业网站,2代表科技网站)            (1代表首页显示,2代表不显示)
写不下,放这里写,
cid就是代表上面那五个分类。
1代表科技部
2代表各省

请问这种样式如何写出来呢?》

解决方案 »

  1.   

    就是repeater里面
    放着五类数据。
      

  2.   

    这好像就不能放一个repeater能解决了
    估计得放五个
      

  3.   

    repeater 放着5类数据!·· 然后呢?
      

  4.   

    图没贴错
    可能一个repeater真的搞不定
    我现在用五个了
      

  5.   

    自己拼个HTML就可以,楼主的意思我也不明白
      

  6.   

    Tab切换。简单的做法:使用UPDATEPANNEL里面放些按钮和一个REPEATER,点不同的按钮时候,重新查询数据库绑定数据到REAPTER上就可以。分页可以使用ASPNETPAGER控件。
    不过repeater横向不太好处理。你可以使用DataList或者直接 <%%>代码来实现
      

  7.   

    等于现在放了5个repeater
    本来是想放一个repeater 实现
    可是想想感觉挺难的
      

  8.   

    5个 repeater 可以2个 repeater  嵌套也可以
      

  9.   

    我拿其中的一个放出来吧
    帮我看看哪里出问题//这个是cid 为2的也就是各省直辖市的链接<asp:Repeater ID="Psite2" runat="server">
                                                    <HeaderTemplate>
                                                        <table border="0" cellspacing="0" cellpadding="0" class="policy_list">
                                                            <tr style="color: Green" align="left">
                                                                各省、直辖市、自治区
                                                            </tr>
                                                    </HeaderTemplate>
                                                    <ItemTemplate>
                                                        <%#Container.ItemIndex==0?" <tr>":""%>
                                                        <td>
                                                            <%#string.Format("<a href={0} target='_blank'>{1}</a>",Eval("url"),Eval("name")) %>
                                                        </td>
                                                        <%#(Container.ItemIndex + 1) % 5 == 0 ? " </tr>" : ""%>
                                                    </ItemTemplate>
                                                    <FooterTemplate>
                                                        </table>
                                                    </FooterTemplate>
                                                </asp:Repeater>
                                                <webdiyer:AspNetPager ID="AspNetPager1_2" runat="server" Width="100%" UrlPaging="true"
                                                    ShowPageIndexBox="Always" PageIndexBoxType="DropDownList" TextBeforePageIndexBox="跳转到页面: "
                                                    HorizontalAlign="right" PageSize="10" AlwaysShow="true" OnPageChanged="AspNetPager1_2_PageChanged">
                                                </webdiyer:AspNetPager>存储过程的代码在这里CREATE PROCEDURE P_GetPagedProfessinalSite2
    (
      @startIndex INT,
    @endIndex INT
    )
     AS
    SET NOCOUNT ON
    DECLARE @indextable TABLE(id int identity(1,1),nid int)
    set rowcount @endIndex
    insert into @indextable(nid) SELECT [lid] FROM [xskj_links] WHERE [Fid]=1 and [cid]=2 order by [lid] DESCSELECT [lid], [name],[url], [fid], [show],[cid]
     FROM [xskj_links] A inner join @indextable t on A.[lid]=t.[nid] 
    WHERE  t.[id] between @startIndex and @endIndex and A.[Fid]=1 and A.[cid]=2 order by a.[lid] desc
    set nocount off
    RETURN
    GO再放出来后台一些相关代码 
      void bindData_2()
            {
                Psite2.DataSource = SqlHelper.ExecuteReader(SqlStr.xskjConnectString, CommandType.StoredProcedure, "P_GetPagedProfessinalSite2",
                    new SqlParameter("@startIndex", AspNetPager1_2.StartRecordIndex),
                    new SqlParameter("@endIndex", AspNetPager1_2.EndRecordIndex));            Psite2.DataBind();
            }   protected void AspNetPager1_2_PageChanged(object sender, EventArgs e)
            {
                bindData_2();
            }
       int total_2 = (int)SqlHelper.ExecuteScalar(SqlStr.xskjConnectString, CommandType.StoredProcedure, "P_GetProfessinalSiteNumber2");
                    AspNetPager1_2.RecordCount = total;
    额,好像现在贴代码的时候发现错误了,
    total没变,
      

  10.   

    你怎么写的 ,可主要的贴, 绑定部分,前台对应的repeater  部分速度,要下班了
      

  11.   

    果然是那个total的原因囧。没改过来
    total应该改为相对应的total_2
    晕。现在出结果了。
      

  12.   


    不过别人说这个太难看了
    下周一再改过
    哎不需要分页控件
    直接用sqldatasource数据源。
    我郁闷。