不论在哪里都和文章模块少不了打交道。。。。。

公告,新闻,故事等等。。。。

现在我就发一个自己用的文章模块吧,就算是抛砖引玉吧。。。

前台

前台

<asp:Repeater ID="categorymainr" runat="server" OnItemDataBound="categorymainr_ItemDataBound"> <ItemTemplate> <div class="cnt2_pages_main"> <ul class="comtabs3"> <li><a target="_blank" class="current" href="wzlist.aspx?categoryid=<%# Eval("id") %>"> <%# Eval("categoryname") %></a></li> <p > <a target="_blank" class="current" href="wzlist.aspx?categoryid=<%# Eval("id") %>"> <img src="wzp_w_picpaths/more.gif" alt="更多" /></a></p> </ul> <div class="cnts"> <asp:Repeater ID="newsmainr" runat="server"> <ItemTemplate> <div class="textArea"> <ul class="ArticleUl"> <li><a target="_blank" title="<%# Eval("title") %>" href="showwz.aspx?id=<%# Eval("id") %>"> <%# Eval("title").ToString().Length < 22 ? Eval("title") : Eval("title").ToString().Substring(0,20)+"..."%> </a><span class="short_date"> <%# Convert.ToDateTime(Eval("posttime")).ToString("MM-dd")%></span></li> </ul> </div> </ItemTemplate> </asp:Repeater> </div> </div> </ItemTemplate> </asp:Repeater>

代码这真心不好看。。。只能怪这编辑器。。。太不给力了。。。前台这里是两个repeater的嵌套。。

categorymainr负责文章类别的输出,而newsmainr负责各类别具体数目文章标题的输出

后台


绑定大类:

categorymainr.DataSource = w_categoryBLL.SelectCategoryAll();categorymainr.DataBind();

绑定文章:

protectedvoid categorymainr_ItemDataBound(object sender, RepeaterItemEventArgs e) {if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) {Repeater newsmainr = (Repeater)e.Item.FindControl("newsmainr");int id = Convert.ToInt32(DataBinder.Eval(e.Item.DataItem, "id").ToString()); newsmainr.DataSource = w_newsBLL.selectNewsByPage(-1, id, 1, 10); newsmainr.DataBind(); } }