如图
这是一个repeater显示的
现在想要这么一个结果。 科技部
-------这里放一些文字
-----
各省------这是放文字+链接
--------浙江省各地级市 ---------
放文字
---------杭州13县市区---------
放文字
---------经济强区县
-------放文字
------
就是这种效果放一个repeater里
数据也全都是一个数据库取
数据库字段lid name url fid show cid
(ID) (链接名称) (链接) (1代表专业网站,2代表科技网站) (1代表首页显示,2代表不显示)
写不下,放这里写,
cid就是代表上面那五个分类。
1代表科技部
2代表各省
。
请问这种样式如何写出来呢?》
放着五类数据。
估计得放五个
可能一个repeater真的搞不定
我现在用五个了
不过repeater横向不太好处理。你可以使用DataList或者直接 <%%>代码来实现
本来是想放一个repeater 实现
可是想想感觉挺难的
帮我看看哪里出问题//这个是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没变,
total应该改为相对应的total_2
晕。现在出结果了。
不过别人说这个太难看了
下周一再改过
哎不需要分页控件
直接用sqldatasource数据源。
我郁闷。