AspNetForum 论坛整改:添加了论坛联盟功能

昨天完成了论坛组的整改。为数据库表(forums_Forums)添加了Icon,Manager二个字段,并对forum.vb代码进行了部分修改了。

今天在添加论坛联盟版块的时候,考虑了完整性及自己也不愿意从数据库中返回Idataread类型,然后绑定到repeater控件中,所以最后决定从DotNetNuke开源项目中引入了CBO类和DataCahe,Null这三个类中,对返回的数据集进行填充,以返回Arrarlist集合。

以前一直以为AspNetForum对数据库操作是使用SqlHelpe类。这回为了可读性,所以采用了SQLHEOPER类。只需要一行代码,就完成了对数据库的操作。

        Public Overrides Function GetForumShare() As IDataReader
            
Return SqlHelper.ExecuteReader(ConnectionString, databaseOwner + ".forums_getforumshare")
        
End Function

后续:现在SqlProvider类已经从小春那里拿过来VB.NET版本了。现在还有最后一个web项目为c#代码。痛苦当中……刚刚碰到一个问题,是c#与VB.NET的区别造成,浪费了我近半个小时(显示联盟论坛网站的LOGO代码)

<%# Formatter.FormatLogo(DataBinder.Eval(Container.DataItem,"Logo")%>

Formatter.VB

    Public Shared Function FormatLogo(ByVal Logo As StringAs String
            
If Logo = "" Then
                
Return ""
            End If

            
Dim strImage As StringBuilder = New StringBuilder
            strImage.AppendFormat(
"<image src={0}>", Logo)
            
Return strImage.ToString
        
End Function

运行程序,提示

编译器错误信息: CS1502: 与“AspNetForums.Components.Formatter.FormatLogo(string)”最匹配的重载方法具有一些无效参数

折腾了好长,后来尝试着

<%# Formatter.FormatLogo(DataBinder.Eval(Container.DataItem,"Logo").toString)%>

还是出错。郁闷当中。只好按C#方式,进行转换

<%# Formatter.FormatLogo(String)DataBinder.Eval(Container.DataItem,"Logo")%>

才总算结果了这个问题~而且WEB项目是C#,每次都要注意自己的大小写。实在是痛苦~~

 

 

posted on 2004-12-22 16:59  wish  阅读(381)  评论(0编辑  收藏  举报

导航