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

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