• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

开源ASP.NET论坛EntLib.com/YAF 定制化开发 Part 1

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
开源ASP.NET论坛EntLib.com/YAF 定制化开发 Part 1
 
 
目前,开源ASP.NET论坛EntLib.com/YAF 已经升级到.Net Framework 3.5 平台和Visual Studio 2008。我们将根据各方用户的反馈意见,对论坛进行升级,增加更多的功能,更好地满足用户的实际需求。本开源论坛可以免费使用,同时提供项目源代码下载。
 
下面针对具体的功能,演示如何进行定制化开发。开发完成后的效果如下:



 
增加论坛帖子的设置精华(精华贴分为1、2、3个等级,采用不同的标识)、设置推荐功能:
 
1. 首先修改数据表yaf_topic 结构
增加字段 DigestLevel ApproveStatus ,字段类型为 INT ,默认值0,运行为NULL
 
2. 修改存储过程[dbo].[yaf_topic_list]
省略前面的script ......
c.PollID,
ForumFlags = d.Flags,
c.DigestLevel, // 增加DigestLevel 输出
c.ApproveStatus // 增加ApproveStatus 输出
FROM     yaf_Topic c
JOIN yaf_User b
ON b.UserID = c.UserID
省略后面的script ......
 
3. 修改TopicLine.cs 控件,增加显示-精华/推荐的标识。
 
            ////////////////////////////////////////////////////////////////////////////////////
            // updated by http://www.entlib.com/
            // updated date: 2008-08-12
            // 显示精华贴的标识
            ////////////////////////////////////////////////////////////////////////////////////
            if ( m_row["DigestLevel"] != System.DBNull.Value && Convert.ToInt32(m_row["DigestLevel"]) > 0)
            {
                html.AppendFormat("&nbsp;<img src='images/topics/digest_{0}.gif' alt='精华{0}' align='absbottom' />", m_row["DigestLevel"].ToString().Trim());
            }
 
            if (m_row["ApproveStatus"] != System.DBNull.Value && Convert.ToInt32(m_row["ApproveStatus"]) > 0)
            {
                html.Append("&nbsp;<img src='images/topics/agree.gif' alt='推荐' align='absbottom' />");
            }
            ////////////////////////////////////////////////////////////////////////////////////
 
4. 修改后台版主的管理界面 – moderate.ascx 用户控件,增加设置精华、设置推荐等等功能,只有版主才可以进行操作。
 
<asp:repeater id=topiclist runat=server>
<itemtemplate>
     <yaf:TopicLine runat="server" DataRow=<%# Container.DataItem %>>
         <td class="postheader" align="left" nowrap>
              <asp:linkbutton runat=server onload="Delete_Load" commandargument='<%# DataBinder.Eval(Container.DataItem, "TopicID") %>' commandname='delete'>删除话题</asp:linkbutton>
              | <asp:linkbutton ID="btnSetDigest" runat=server commandargument='<%# DataBinder.Eval(Container.DataItem, "TopicID")%>' CommandName='digest'>设置精华</asp:linkbutton><asp:TextBox ID="txtDigestLevel" runat="server" Width="20" Text='<%# DataBinder.Eval(Container.DataItem, "DigestLevel") %>'></asp:TextBox>&nbsp;
            | <asp:linkbutton ID="btnRecommend" runat=server commandargument='<%# DataBinder.Eval(Container.DataItem, "TopicID")%>' CommandName='recommend' Text='<%# GetRecommendOpt(Eval("ApproveStatus")) %>'></asp:linkbutton>
         </td>
     </yaf:TopicLine>
</itemtemplate>
</asp:repeater>

具体的后台实现代码可以在EntLib.com 开源ASP.NET项目中获得,新项目版本为v3.5,运行在.Net Framework 3.5平台之上,开发环境为 Visual Studio 2008。版主后台维护界面如下:



 原文链接:
 
论坛演示地址:http://forum.EntLib.com 包括论坛技术问题、安装使用等等交流。
 
 
 

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
ASP.NET MVC5(二):控制器、视图与模型发布时间:2022-07-10
下一篇:
[原]ASP.NET处理异常的另一种方式发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap