文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发ASP教程 → asp.net高级教程(二)- 转换编程思维

asp.net高级教程(二)- 转换编程思维

时间:2004/11/7 4:13:00来源:本站整理作者:蓝点我要评论(1)

上次的内容说过asp.net和asp的最大区别在于编程思维的转换,那么我们现在就来看看如何转换编程思想。以前的web编程从cgi(perl)到asp,php,jsp的编程过程都是这样:美工人员给出页面原型,编程人员照页面填空,最后堆起来算完,下次如果原型变动,那么就再修改程序,这样业务逻辑和html页面混在一起,可以说是事倍功半。那么,现在有了asp.net,我们应该怎么做呢?



    让我们找个实际的例子,就拿论坛来说吧,先从顶至下看看它的业务逻辑。我们可以把一个论坛视做一个对象,它有自己的属性和方法,常见的属性有名称、贴子数、用户数、版面数等等,这样的话,我们就可以这样来构造论坛对象:



namespace MyOwnClass

{

    using System;

    using System.Data.SQL ;

    using System.Data ;

    

    ////////////////////////////////////////////////////////////////////

    //

    // Class Name :       BBS

    //

    // Description:       论坛类,构造一个论坛对象

    //

    // date:              2000/02/03

    //

    /// ////////////////////////////////////////////////////////////////

    public class BBS

    {

        //私有变量

        private string m_strTitle ;        //bbs名称

        private int m_intForumCount ;        //版面数

        private int m_intTopicCount ;        //贴子数

        private int m_intUserCount ;        //注册用户数

        

        //属性

        public string Title

        {

            get

            {

                return m_strTitle ;

            }

        }



        public int ForumCount

        {

            get

            {

                return m_intForumCount ;

            }

        }



        public int TopicCount

        {

            get

            {

                return m_intTopicCount ;

            }

        }



        public int UserCount

        {

            get

            {

                return m_intUserCount ;

            }

        }



        //构造函数

        public BBS(string a_strTitle)

        {

            //

            // TODO: Add Constructor Logic here

            //

            m_strTitle = a_strTitle ;



            //读取数据库

            MyConnection myConn = new MyConnection() ;

            SQLCommand myCommand = new SQLCommand() ;

            myCommand.ActiveConnection = myConn ;

            myCommand.CommandText = "up_GetBBSInfo" ;    //调用存储过程

            myCommand.CommandType = CommandType.StoredProcedure ;



            try

            {

                myConn.Open() ;

                SQLDataReader myReader ;

                myCommand.Execute(out myReader) ;

                if (myReader.Read())

                {

                    m_intForumCount = (int)myReader["ForumCount"] ;

                    m_intTopicCount = (int)myReader["TopicCount"] ;

                    m_intUserCount  = (int)myReader["UserCount"] ;

                }

                else

                {

                    throw(new Exception("表或存储过程不存在")) ;

                }



                //清场

                myReader.Close();

                myConn.Close() ;

            }

            catch(SQLException e)

            {

                throw(new Exception("数据库出错:" + e.Message)) ;

            }



        }

    }

}



    这个bbs类很简单,有四个私有变量,对应四个只读属性,方法只有一个带参数的构造函数,作用是从数据库中读取相应的数据,填充四个私有变量。类构造好了,让我们看看如何使用,在需要显示论坛这些属性的页面文件里(.aspx)里,构造四个Label,象这样:

     

       

          

          

       

       

          

          

       

       

          

          

       

      


              注册用户数:

          
    

              

          


              贴子总数:

          
    

              

          


              版面数:

          
    

              

          


然后在对应的c#文件里这样使用:



        protected void Page_Init(object sender, EventArgs e)

        {

            //

            // CODEGEN: This call is required by the ASP+ Windows Form Designer.

            //

            InitializeComponent();



                //初始化页面对象

            //创建bbs对象

            try

            {

                m_objBBS = new BBS("鹰翔山庄论坛") ;

            }

            catch(Exception exp)

            {

#if DEBUG

                Response.Write ("初始化bbs对象出错:" + exp.Message + "
") ;

                return ;

#endif//DEBUG

                Server.Transfer("error.aspx") ;

            }

            

            //论坛名称

            lblBBSName.ForeColor = Color.White ;

            lblBBSName.Text = m_objBBS.Title ;



            //用户数

            lblUserCount.ForeColor = Color.White ;

            lblUserCount.Text = m_objBBS.UserCount.ToString() ;



            //文章数

            lblTopicCount.ForeColor = Color.White ;

            lblTopicCount.Text = m_objBBS.TopicCount.ToString() ;



            //版面数

            lblForumCount.ForeColor = Color.White ;

            lblForumCount.Text = m_objBBS.ForumCount.ToString() ;

        }



    看出这样使用的好处吗?对,就是业务逻辑和html代码分开,这样无论页面原型如何修改,代码都不需要做丝毫改动。bbs对象构造好了,让我们看看论坛的其他对象,他们分别是用户(BBSUser)、版面(Forum)和贴子(Topic) , 我将在下节的内容里详细解释。




相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 《龙珠:超宇宙》 战斗E3 2014:瘆人僵尸《消 asp代码实现access数据导出到excel文件如何使用FSO读取Js文件内容并可以编辑修改对初学者有用的一些asp函数集学习ASP编程必会的代码

人气排行 asp代码实现access数据导出到excel文件asp不需要任何配置的伪静态实现如何使用FSO读取Js文件内容并可以编辑修改asp去除html标记和空格的代码Asp全选删除代码教大家网页伪静态知识及其2种实现方法Microsoft SQL Server 7.0安装问题(一)ASP.NET中的Code Behind技术4