国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

在ASP.NET中面向對象的編程思想

2024-07-10 12:56:36
字體:
來源:轉載
供稿:網友

首先,我們還是來談一下面向對象的編程思想吧。我想現在的主流編程思想無非兩種:結構與面向對象。以前,在asp中我們完全采用的是結構化思想。現在,asp.net可以完全支持面向對象的編程思想,這不得不說是一個質上的飛躍。

記得我在大約半年前給大家寫過一篇<<面向對象從人造地球談起>>,當時是由于看到一本小說的啟發,發現任何東西都可以用面向對象的思想來看。我現在還是簡單談一下吧,面向對象無非就是把世間萬物當做一個類,要想使用類做事,就必須創建類的實例。這很好理簡,比方人是一個類,我們總不能說叫人去做事吧(這樣沒有針對性),我們往往說叫張三 or 李四去,這張三 or 李四就是人這個類的一個實例。這就是對象的概念。再講一下就是事件與動作,舉個例子:起風了,下雨了,收衣服了。起風了,下雨了是事件,這個事件會激發收衣服這個動作,這個動作的執行者就是對象。如果大家學過sql server的觸發器,我想對這一點思想會更清楚。面向對象還比較重要的就是繼承(inherits)與多態。這很好理解,比方,張三會收衣服,張三生的兒子繼承了張三的特點,也會收衣服,這就是繼承,而且說不定張三的兒子還會開車,這就是多態。

好了,對于面向對象理解我就說這么一點,還是說一下在asp.net中如何用面向對象的觀點來編程吧。我們在編web程序時,通常要要處理:ui(用戶界面,也就是數據的顯示)與代碼(如何處理數據的code(代碼)。為了達到ui與code的完全分開,我們把ui當作一個對象,code當作另我一個對象。當然我們要研究這兩個對象的關系,還記得我們在編asp程序時把同一段代碼copy到很多頁面,看來code是父類了,ui是子類了。不過他們都是從 system.web.ui.page繼承過來。理清了類的關系,我們不難理解代碼ui與code分開的思想了。
關系圖:
引入名稱空間:using system.web.ui
父類 page→ 很多子類code(*.cs文件)→很多子子類 ui(*.aspx文件)

因為我主要是想大家了解這種編程思想,所以我只舉一個簡單的例子,我想大家有了思想,再就是多找實例來看了。

文件兩個:
ui類: default.aspx 主要用來顯示數據,用天datagrid控件
code類: default.aspx.cs 主要用來建立數據聯接、查詢、綁定數據于datagrid控件的
        里面我創建了自己的namespace名叫vagrant,以及類myvagrant
數據庫: data,里面有一個關系表student

為了說明default.aspx類是從default.aspx.cs 繼承過來的,需要在default.aspx申明:
<%@ page language="c#" codebehind="default.aspx.cs" inherits="vagrant.myvagrant" %>
codebehind表明父類的源文件,inherits="vagrant.myvagrant" 表明該文件是從哪個類繼承下來的。

現在給出源文件
default.aspx代碼:

<%@ page language="c#" codebehind="default.aspx.cs" inherits="vagrant.myvagrant" %>
<html>
<head>
</head>
<body>
<form id="form1" method="post" runat="server">
<asp:datagrid id="mydatagrid" runat="server"

borderstyle="ridge" gridlines="none" borderwidth="2px" bordercolor="white"
backcolor="white" cellpadding="3" cellspacing="1" width="494px" height="143px">
<headerstyle font-bold="true" horizontalalign="center" forecolor="#e7e7ff" verticalalign="middle" backcolor="4a3c8c" />
<itemstyle horizontalalign="center" forecolor="black" verticalalign="middle" backcolor="#dedfde" />
</asp:datagrid>
</form>
</body>
</html>

default.aspx.cs 文件代碼 注意:需要編譯
/*
功能說明:default.aspx.cs用來將ui與源代碼分開,此為代碼部分,需要編譯
created by vagrant
2001.10.17
個人主頁:http://www.weavedream.net
*/


//引入必須的名稱空間
using system;
using system.data;
using system.data.sqlclient; //引入使用sql數據庫所必須的名稱空間
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.ui.htmlcontrols;

namespace vagrant //創建自己的名稱空間
{

public class myvagrant :page //我的類myvagrant是從類system.web.ui.page類繼承過來的
{
protected datagrid mydatagrid;


private void page_load(object sender, system.eventargs e)//頁面裝載初始化,可檢查頁面是不是第一次被處理
{

// 第一步:建立數據庫聯接,用面向對象的觀點就是創建一個sql數據庫聯接對象的實例,并初始化
sqlconnection myconnection=new sqlconnection("server=(local);database=data;uid=sa;pwd=;");

//第二步:讀取數據庫,來面向對象的觀點就是創建一個查詢對象的實例,并初始化
sqldataadapter mycommand=new sqldataadapter("select * from student",myconnection);

//:第三步:存儲數據 
dataset ds=new dataset();
mycommand.fill (ds,"vagrant");
// 第四步:綁定數據
mydatagrid.datasource =ds.tables ["vagrant"].defaultview
mydatagrid.databind ();

}


}
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 睢宁县| 新泰市| 建平县| 淳安县| 辽宁省| 乌兰县| 彰化市| 台东市| 瑞金市| 且末县| 甘南县| 巢湖市| 荔浦县| 加查县| 彭阳县| 遂昌县| 静乐县| 措美县| 凤台县| 新龙县| 连城县| 九江市| 天等县| 甘南县| 微山县| 利川市| 车险| 阿拉善右旗| 双流县| 临汾市| 梨树县| 蚌埠市| 安徽省| 怀仁县| 基隆市| 渝中区| 耒阳市| 拜城县| 湾仔区| 若羌县| 噶尔县|