Day1
初識(shí)ASP.NET
<form runat="server">
State:<asp:DropDownList id="state" runat="server"/>
<asp:Button Text="Show Authors" OnClick="ShowAuthors" runat="server"/>
<p/>
<asp:DataGrid id="DataGrid1" runat"server"/>
</form>
此處有一個(gè)標(biāo)有runat="server"屬性的表單,這表示告訴ASP.NET改表單將返回?cái)?shù)據(jù)以便在服務(wù)器代碼中使用.在表單中DropDownList(等同于HTML SELECT列表),Button(等同于一個(gè)HTML INPUT type="button"),以及一個(gè)用來(lái)顯示信息的DataGrid.其中的按鈕使用OnClick事件來(lái)鑒別服務(wù)器端代碼的名稱,以便當(dāng)用戶單擊它時(shí)運(yùn)行這些代碼.值得注意的是,這里的OnClick事件不是客戶端的DHTML的OnClick事件.由于該控件是一個(gè)服務(wù)器端的控件(runat="server"),因此事件會(huì)在服務(wù)器端的代碼中被該控件作用.
If Not Page.IsPostBack Then
state.Item.Add("CA")
...
End If
Web Control 一個(gè)很重要的特點(diǎn)就是他們?cè)陧?yè)面發(fā)送的過(guò)程中會(huì)保留其內(nèi)容,因此我們不用再次對(duì)他們進(jìn)行填充.IsPostBack特性允許我們鑒別頁(yè)面是否是首次加載的,或者是否我們已經(jīng)返回?cái)?shù)據(jù)給服務(wù)器了.
認(rèn)識(shí).NET Framework
.NET Framework 內(nèi)容豐富,主要幾個(gè)部分:
1 在該平臺(tái)上可編寫識(shí)別Internet并在Internet上支持的應(yīng)用程序,并且這些應(yīng)用程序接受諸如XML,HTTP和SOAP這樣的開(kāi)放標(biāo)準(zhǔn).
2 提供了一些非常重要并且強(qiáng)大的應(yīng)用程序開(kāi)發(fā)技術(shù),例如可用來(lái)創(chuàng)建典型GUI應(yīng)用程序的windows forms, 當(dāng)然也包括用于創(chuàng)建網(wǎng)格應(yīng)用程序的ASP.NET.
3 包含了一個(gè)范圍廣泛的類庫(kù),該類庫(kù)可為數(shù)據(jù)訪問(wèn)(關(guān)系型和XML),目錄服務(wù),消息對(duì)列等提供廣泛支持.(到目前為止我對(duì)目錄服務(wù)和消息隊(duì)列還比較陌生)
4 該平臺(tái)有一個(gè)基類庫(kù),該類苦包含了數(shù)百個(gè)類,他們用來(lái)執(zhí)行象文件操作,注冊(cè)表訪問(wèn),安全,線程以及利用正則表達(dá)式搜索文本這樣的常規(guī)任務(wù).(正則表達(dá)式??)
5 不存在語(yǔ)言歧視性,可以很公平的支持任何語(yǔ)言.
6 具有向下兼容性,它為您或第三方使用COM或標(biāo)準(zhǔn)DLL編寫的現(xiàn)有組件提供了很好的互用性支持.
7 改平臺(tái)有一個(gè)稱之為公共語(yǔ)言運(yùn)行時(shí),CLR運(yùn)行獨(dú)立的代碼運(yùn)行和管理環(huán)境.CLR確保代碼的安全執(zhí)行,同時(shí)它還在操作系統(tǒng)之上提供了一個(gè)抽象的層,這表明.NET Framework 中的各元素均可以在多種操作系統(tǒng)和設(shè)備上運(yùn)行.(此處本人有些疑問(wèn)!!)
名稱空間有以下兩個(gè)主要功能:
1 對(duì)相關(guān)類型進(jìn)行邏輯分組:例如,System.Web包含了所有管理Web請(qǐng)求的低級(jí)執(zhí)行的ASP.NET類.而System.Web.UI包含了所有實(shí)際顯示UI的類,同時(shí)System.Web.Hosting 包含了幫助在IIS或其它應(yīng)用程序中主控ASP.NET的類.
2 減少名稱沖突
注: 名稱空間不對(duì)類型進(jìn)行物理分組,這是因?yàn)橐粋€(gè)名稱空間可以在不同的裝配件中(DLLs和EXEs)
ASP.NET自動(dòng)地把常用地名稱輸入到ASP.NET頁(yè)中.
可以將名稱空間當(dāng)作目錄來(lái)理解.不過(guò)他們包含的是類而不是文件.但是一個(gè)稱為A.B的名稱空間并不意味著一定存在一個(gè)名為B的名稱空間.
公共語(yǔ)言規(guī)范(comman language specification,cls)
類型
System.Boolean
System.Byte 表示無(wú)符號(hào)的字節(jié)值(0-255之間的正整數(shù))
System.Char UNICODE字符值
System.DateTime 數(shù)據(jù)和時(shí)間值
System.Decimal 用28個(gè)重要的數(shù)字表示正負(fù)值
System.Double 64位,雙精度的浮點(diǎn)數(shù)字
System.Int16 16位的帶符號(hào)整數(shù)值
System.Int32 32...
System.Int64 64...
System.Sbyte 8位的帶符號(hào)整數(shù)(-128~127)
System.Single 4位,單精度的浮點(diǎn)數(shù)字
System.TimeSpan 時(shí)間段,或正或負(fù)
System.String UNICODE字符串
System.Array 一維數(shù)組
System.Object 所有其他類型繼承的基本類型
值類型:分配到堆棧中的空間,如基本類型
引用類型:分配到可管理CLR堆中的空間,如對(duì)象類型
封箱:
//c#
int i= 32;
object o = i;//堆棧中的值類型的內(nèi)容被復(fù)制到可管理堆棧中分配的內(nèi)存中.而創(chuàng)建的引用類型包含 //了一個(gè)改值類型的副本,且可由其他要求object引用的類型使用.包含在值類型中的 //和創(chuàng)建的引用類型是完全不相關(guān)的(除非它們包含了相同的值(如何理解???)),如果修改 //了原來(lái)的值類型,引用類型也不會(huì)受到影響.
拆箱:
//c#
object o;
int i = (int)o;
//假設(shè)變量o已經(jīng)初始化
拆箱時(shí),可管理堆中的內(nèi)存被復(fù)制到堆棧中
注:真正理解封箱和拆箱是很重要的,因?yàn)樗婕暗叫阅軉?wèn)題
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
