View-ForumsGroupView.ascx 读解
原文链接: https://www.cnblogs.com/inday/archive/2004/12/31/84634.html | 迁移自博客园
为了修改首页的框架,一路跟踪到了View-ForumsGroupView.ascx这个文件,其实他就是一个页面的模版,微软在这里并没有弄了太多花絮,所以阅读起来很方便。
<%@ Control Language=“C#” %>
<%@ Register TagPrefix=“Forums” Namespace=“AspNetForums.Controls” Assembly=“AspNetForums.Controls” %>
<%@ Import Namespace=“AspNetForums” %>
<%@ Import Namespace=“AspNetForums.Controls” %>
<%@ Import Namespace=“AspNetForums.Components” %>
导入了一些名称空间,并且声明了一个控件。
<Forums:Ads Zone=“Inline” runat=“server” />
注释上显示是广告,我个人理解为登入框上面的banner。![]()

<% if ( Users.GetUser().IsAnonymous )
{ %>

<Forums:Login SkinFilename=“Skin-LoginSmall.ascx” runat=“server” ID=“Login1” />

<% } %>
匿名用户显示的表格,感觉和动网的有些类似。

<Forums:DisplayUserWelcome runat=“server” />

<% if ( !Users.GetUser().IsAnonymous )
{ %>
<%=ResourceManager.GetString(“MyFavorites_Description”)%>
<% } %>
<Forums:ForumAnchor class=“lnk3” AnchorType=“PostsActive” runat=“server” />
<Forums:ForumAnchor class=“lnk3” AnchorType=“PostsUnanswered” runat=“server” />
<Forums:BreadCrumb ShowHome=“true” runat=“server” ID=“Breadcrumb1” />
<Forums:SearchRedirect ID=“SearchRedirect” runat=“server” />

这个就是登入以后所显示的表格。
下面就是论坛组的显示了,我们公司就是要我修改这里,所以准备一点一点分析。
<asp:Repeater EnableViewState=“false” runat=“server” id=“forumGroupRepeater”>
定义了一个Repeater控件,用来显示整个论坛组框架。

<% = ResourceManager.GetString(“ForumGroupView_Inline1”) %>
<%= ResourceManager.GetString(“ForumGroupView_Inline4”) %>
<%= ResourceManager.GetString(“ForumGroupView_Inline2”) %>
<%= ResourceManager.GetString(“ForumGroupView_Inline3”) %>
定义了头模板,ResourceManager.GetString(),让我看了很长时间,个人以为是整理了一下字符串,然后又从配置里面把数据读出,从Language目录里的Resources.xml读出数据。
这个表格显示了一个图片和论坛组的名字。
<Forums:ForumRepeater ForumGroupID=’<%# DataBinder.Eval(Container.DataItem, “ForumGroupID”) %>’ HideForums=’<%# DataBinder.Eval(Container.DataItem, “HideForums”) %>’ runat=“server”>
这是一个自定义的Repeater控件,具体代码还没研究过。


<%
# Formatter.StatusIcon( (Forum)Container.DataItem ) %>

这个是显示版面是否有信息的那个图片。
<Forums:ForumLogo runat=“server” Forum=’<%# (Forum) Container.DataItem %>’ />
这个是版面的logo,如果有就显示,没有就不显示,都在ForumsRepeater控件里都有了。


<%
# DataBinder.Eval(Container.DataItem, “Name”) %>

<%
# Formatter.FormatUsersViewingForum( (Forum) Container.DataItem ) %>
这个很容易理解,就是版面名字的显示,<%# Formatter.FormatUsersViewingForum( (Forum) Container.DataItem ) %>
是显示版面现在的在线人数,很多余的东西,缓存太久了,根本不能及时显示。

<%# DataBinder.Eval(Container.DataItem, “Description”) %><%# Formatter.FormatSubForum( (Forum) Container.DataItem ) %>

<forums:ForumModerators runat=“server” ForumID=’<%# ((Forum)Container.DataItem).ForumID %>’/>
版面的简介和版主显示


<%# Formatter.FormatLastPost( (Forum) Container.DataItem, (bool) true ) %>



<%# Formatter.FormatNumber( ((Forum) Container.DataItem).TotalThreads ) %>



<%# Formatter.FormatNumber( ((Forum) Container.DataItem).TotalPosts ) %>

这三个分别显示:最后帖子,主题数,帖子数的。
好了,后面都是一些闭合语句了。
分析完毕,现在修改起来也简单了,以后研究的时候会继续贴上来的,嘿嘿
版面的简介和版主显示 这三个分别显示:最后帖子,主题数,帖子数的。好了,后面都是一些闭合语句了。分析完毕,现在修改起来也简单了,以后研究的时候会继续贴上来的,嘿嘿