av网站免费线看精品_国产做a爱视频免费不_深爱激情网开心五月天_伊人五月天在线视频网

 
在ASP.NET中面向?qū)ο蟮木幊趟枷?
發(fā)布時間:2008-03-10   瀏覽次數(shù):1227800
首先,我們還是來談一下面向?qū)ο蟮木幊趟枷氚。我想現(xiàn)在的主流編程思想無非兩種:結(jié)構(gòu)與面向?qū)ο。以前,在ASP中我們完全采用的是結(jié)構(gòu)化思想。現(xiàn)在,asp.net可以完全支持面向?qū)ο蟮木幊趟枷,這不得不說是一個質(zhì)上的飛躍。   記得我在大約半年前給大家寫過一篇,當(dāng)時是由于看到一本小說的啟發(fā),發(fā)現(xiàn)任何東西都可以用面向?qū)ο蟮乃枷雭砜。我現(xiàn)在還是簡單談一下吧,面向?qū)ο鬅o非是把世間萬物當(dāng)做一個類,要想使用類做事,必須創(chuàng)建類的實例。這很好理簡,比方人是一個類,我們總不能說叫人去做事吧(這樣沒有針對性),我們往往說叫張三 or 李四去,這張三 or 李四是人這個類的一個實例。這是對象的概念。再講一下是事件與動作,舉個例子:起風(fēng)了,下雨了,收衣服了。起風(fēng)了,下雨了是事件,這個事件會激發(fā)收衣服這個動作,這個動作的執(zhí)行者是對象。如果大家學(xué)過SQL Server的觸發(fā)器,我想對這一點思想會更清楚。面向?qū)ο筮比較重要的是繼承(Inherits)與多態(tài)。這很好理解,比方,張三會收衣服,張三生的兒子繼承了張三的特點,也會收衣服,這是繼承,而且說不定張三的兒子還會開車,這是多態(tài)。   好了,對于面向?qū)ο罄斫馕艺f這么一點,還是說一下在asp.net中如何用面向?qū)ο蟮挠^點來編程吧。我們在編web程序時,通常要要處理:UI(用戶界面,也是數(shù)據(jù)的顯示)與代碼(如何處理數(shù)據(jù)的Code(代碼)。為了達(dá)到UI與Code的完全分開,我們把UI當(dāng)作一個對象,Code當(dāng)作另我一個對象。當(dāng)然我們要研究這兩個對象的關(guān)系,還記得我們在編ASP程序時把同一段代碼 Copy到很多頁面,看來code是父類了,UI是子類了。不過他們都是從 System.Web.UI.Page繼承過來。理清了類的關(guān)系,我們不難理解代碼UI與Code分開的思想了。 關(guān)系圖: 引入名稱空間:using System.Web.UI 父類 page→ 很多子類Code(*.cs文件)→很多子子類 UI(*.aspx文件) 因為我主要是想大家了解這種編程思想,所以我只舉一個簡單的例子,我想大家有了思想,再是多找實例來看了。 文件兩個: UI類: default.aspx 主要用來顯示數(shù)據(jù),用天DataGrid控件 Code類: default.aspx.cs 主要用來建立數(shù)據(jù)聯(lián)接、查詢、綁定數(shù)據(jù)于DataGrid控件的         里面我創(chuàng)建了自己的namespace名叫vagrant,以及類MyVagrant 數(shù)據(jù)庫: data,里面有一個關(guān)系表student 為了說明default.aspx類是從default.aspx.cs 繼承過來的,需要在default.aspx申明: Codebehind表明父類的源文件,Inherits="vagrant.MyVagrant" 表明該文件是從哪個類繼承下來的。 現(xiàn)在給出源文件 default.aspx代碼: default.aspx.cs 文件代碼 注意:需要編譯 /* 功能說明:default.aspx.cs用來將UI與源代碼分開,此為代碼部分,需要編譯 Created By vagrant 01.10.17 個人主頁:http://www.weavedream.net */ //引入必須的名稱空間 using System; using System.Data; using System.Data.SqlClient; //引入使用SQL數(shù)據(jù)庫所必須的名稱空間 using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace vagrant //創(chuàng)建自己的名稱空間 { public class MyVagrant :Page //我的類MyVagrant是從類System.Web.UI.Page類繼承過來的 { protected DataGrid MyDataGrid; private void Page_Load(object sender, System.EventArgs e)//頁面裝載初始化,可檢查頁面是不是次被處理 { // 步:建立數(shù)據(jù)庫聯(lián)接,用面向?qū)ο蟮挠^點是創(chuàng)建一個SQL數(shù)據(jù)庫聯(lián)接對象的實例,并初始化 SqlConnection MyConnection=new SqlConnection("Server=(local);DataBase=data;UID=sa;PWD=;"); //第二步:讀取數(shù)據(jù)庫,來面向?qū)ο蟮挠^點是創(chuàng)建一個查詢對象的實例,并初始化 SqlDataAdapter MyCommand=new SqlDataAdapter("select * from student",MyConnection); //:第三步:存儲數(shù)據(jù)  DataSet ds=new DataSet(); MyCommand.Fill (ds,"vagrant"); // 第四步:綁定數(shù)據(jù) MyDataGrid.DataSource =ds.Tables ["vagrant"].DefaultView MyDataGrid.DataBind (); } } }
立即預(yù)約