• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

        asp.net高級圖文詳細教程(二)- 轉換編程思維

        asp.net高級圖文詳細教程(二)- 轉換編程思維

        更新時間:2022-05-06 文章作者:未知 信息來源:網絡 閱讀次數:

        上次的內容說過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,象這樣:
             <table width=140 cellpadding=4 cellspacing=1 border=0>
               <tr>
                  <td class=cn>
                      <font color=white>注冊用戶數:</font>
                  </td>
                  <td>    
                      <asp:label id="lblUserCount" runat=Server class=cn></asp:label>
                  </td>
               </tr>
               <tr>
                  <td class=cn>
                      <font color=white>貼子總數:</font>
                  </td>
                  <td>    
                      <asp:label id="lblTopicCount" runat=Server class=cn></asp:label>
                  </td>
               </tr>
               <tr>
                  <td class=cn>
                      <font color=white>版面數:</font>
                  </td>
                  <td>    
                      <asp:label id="lblForumCount" runat=Server class=cn></asp:label>
                  </td>
               </tr>
              </table>
        然后在對應的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 + "<br>") ;
                        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) , 我將在下節的內容里詳細解釋。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統下載排行

        主站蜘蛛池模板: 亚洲欭美日韩颜射在线二| 毛片免费视频播放| 亚洲人午夜射精精品日韩| 国产精品亚洲一区二区在线观看| 国产成人无码免费看视频软件| 亚洲高清中文字幕综合网| 亚洲视频免费在线看| 亚洲精品国产第1页| 国产在线观看片a免费观看| 亚洲w码欧洲s码免费| 女人被免费视频网站| 看成年女人免费午夜视频| 亚洲精品一级无码鲁丝片| 深夜免费在线视频| 国产成A人亚洲精V品无码性色| 91视频免费观看| 亚洲小视频在线观看| 99久久免费国产精品特黄| 亚洲av无码一区二区三区人妖| 又大又粗又爽a级毛片免费看| 男女啪啪免费体验区| 亚洲人成伊人成综合网久久久 | 国产大陆亚洲精品国产| 亚洲国产一级在线观看 | 在线观看免费人成视频色9| 亚洲一区精彩视频| 亚洲国产成人久久一区WWW| 十八禁在线观看视频播放免费| 亚洲精品乱码久久久久久下载| 午夜私人影院免费体验区| 黄色三级三级免费看| 亚洲AV日韩AV鸥美在线观看| 国产情侣激情在线视频免费看| 污污视频免费观看网站| 久久91亚洲精品中文字幕| 成人黄页网站免费观看大全| av电影在线免费看| 久久久久精品国产亚洲AV无码| 亚洲综合亚洲综合网成人| 日本阿v免费费视频完整版| 亚洲精品视频免费|