這都是些啥??asp.net!你搞懂了沒!

山東海天軟體工程學院發表於2013-05-10

一、內建物件有哪些?他們常用的屬性和方法有哪些,功能是什麼?
1.Response物件
用於: 從輸出頁面讀取/寫入文字,將使用者重新定向到另一個頁面,有條件地結束應用程式連線,設定/獲取輸出內容型別,檢查客戶端與伺服器的連線狀態, 讀取/寫入 Cookie
屬性:
Expires 指定瀏覽器中快取的頁面過期之前的時間(以分鐘為單位)
Output 啟用到輸出 HTTP 響應流的文字輸出
OutputStream 啟用到輸出 HTTP 內容主體的二進位制輸出,並作為響應的一部分
方法:
Write 用於向當前 HTTP 響應流寫入文字,使其成為返回頁面的一部分
End 停止處理至客戶端的輸出,返回目前為止已建立的頁面內容並觸發 Application 物件的 EndRequest 事件 
Redirect 將使用者從請求頁面重新定向或帶到另一頁面
2.Request物件
物件封裝客戶端請求頁面或提交表單時提供的資訊。這些資訊包括: 識別使用者和瀏覽器的 HTTP 變數,在客戶端瀏覽器上為網站儲存的 Cookie,作為查詢字串或網頁 <FORM> 部分的 HTML 控制元件值新增到 URL 的值,如果是安全保護網站,有關網站安全的資訊
屬性
Browser  獲得有關請求瀏覽器能力的資訊 
Form  獲得網頁中定義的窗體變數的集合
QueryString 獲得以名/值對錶示的 HTTP 查詢字串變數的集合
Params  獲得由以名/值對錶示的 QueryString、Form、Cookie 、ServerVariables 組成的集合 
Url  返回有關當前請求的 URL 資訊
方法:MapPath  將請求 URL 中提到的虛擬路徑對映到伺服器上資源的實際物理路徑
 傳遞Form表單中的控制元件值用Request.Form 獲取值,位址列中傳遞的引數用 Request.QueryString獲取
3.Application物件
儲存並維護應用程式級的資料。所有客戶端都可以訪問的application 屬於應用程式
屬性:
ontents :用於訪問應用程式狀態集合中的物件名;
StaticObjects :確定某物件指定屬性的值或遍歷集合,並檢索所有靜態物件的屬性  
    AllKeys:返回全部Application物件變數名到一個字串陣列中。
    Count:獲取Application物件變數的數量。
    Item:允許使用索引或者Application變數名稱傳回內容值
方法:add() clear() lock() remove() removeAll() set() unLock()
   4.Session物件
1.包含特定於某個使用者的資訊, 各個頁面都可以使用,預設在伺服器程式內的記憶體,可以儲存複雜結構資料。各個客戶端獨立的session物件,儲存量大,在伺服器端 一個客戶端訪問時,在伺服器端產生一個session 屬於使用者的,2.當會話過期或終止時,伺服器就會清除 Session 物件,3.在使用者會話期間可以記錄和監視特定於使用者的資訊
屬性:TimeOut 
   Contents: 用於確定指定繪畫項的值或遍歷Session物件的集合。
   StaticObjects:確定某物件指定屬性的值或遍歷集合,並檢索所有靜態物件的屬性
  TimeOut:傳回或確定Session物件變數的有效時間
方法:
  Abandon:結束當前會話,並清除會話中的所有資訊。
 Clear:清除全部的Session物件變數,但不結束會話。
Session物件是與特定使用者相聯絡的。各個Session物件是完全獨立的。不會互相影響。
   5.Cookie物件
用來儲存客戶端瀏覽器請求的伺服器網頁,也可以用它存放非敏感性的使用者資訊,資訊儲存的時間可以根據使用者的需要進行設定。並非所有的瀏覽器都支援Cookie,並且資料資訊是以文字的形式儲存在客戶端計算機的。
屬性:
Expires:設定Cookie變數的有效時間。預設為1000分鐘。
  Name:獲取Cookie變數的名稱。
  Value:獲取或設定Cookie變數的內容值。
  Path:獲取或設定Cookie使用的URL。
方法
Equals:確定指定Cookie是否等於當前的Cookie
     ToString 返回此Cookie物件的一個字串表示形式
對Cookie中的資料加密,建立及存取多個鍵值的Cookie物件,設定Cookie變數的生命週期
6.Server物件
屬性:
MachineName:獲取伺服器的計算機名稱
  ScriptTimeout:獲取和設定請求超時值
方法:
Execute:在當前請求的上下文中執行指定資源的處理程式,然後將控制返回給該處理程式.
將執行從當前頁面轉移到另一個頁面,並將執行返回到當前頁面.執行所轉移的頁面在同一瀏覽器視窗中執行,然後原始頁面繼續執行.所以執行Execute方法後,原始頁面保留控制權。
HtmlDecode:對已被編碼以消除無效HTML字元的字串進行編碼 HtmlEncode:
MapPath:用來返回與Web伺服器上的指定虛擬路徑相對應的物理檔案路徑。
Server.MapPath(path);可以使用這個獲取當前目錄所在伺服器的物理路徑
UrlDecode:UrlEncode:
Transfer:終止當前頁的執行,併為當前請求開始執行新頁
HttpServerUtility 類的Execute()和Transfer()的區別關鍵在於執行後控制權是否返回原先頁面
HTMLEncode()和HTMLEncode()主要用於對HTML 標籤和URL進行編碼,對站點或程式的安全具有重要意思
MapPath()獲取物理路徑時需要注意是絕對路徑還是相對路徑
二、狀態管理:
http://blog.csdn.net/lxhgddy/article/details/3696779
客戶端狀態有哪些?分別的優缺點什麼?
1.檢視狀態Viewstate :同一個頁面不同請求.。
小量,簡單的資料 一個Web頁面的生命期 單個使用者 客戶端
  2.隱藏欄位(隱藏域):同一個頁面 安全性比viewState要差一些,只能儲存一個單值資料
  3.查詢字串:  同一個頁面或者不同頁之間 直接相關的兩個頁面  
       eg.在位址列末尾 加?(鍵值對) 傳值  所傳的值 安全性不高 沒有加密
  4.cookie:儲存在客戶端檔案系統的文字檔案中或客戶端瀏覽器對話的記憶體中的少量資料,它主要用來跟蹤資料設定 
  儲存特定的客戶端資訊, 建立:respose 響應物件,讀取值:request 
三、伺服器端狀態有哪些?分別的優缺點什麼?
1.session物件:各個頁面都可以使用,預設在伺服器程式內的記憶體。可以儲存複雜結構資料,各個客戶端獨立的物件,儲存資料量大 session.Abandon()//取消會話 會觸發session_End    2.appliction物件:各個客戶端都可以共享的物件 可以儲存複雜結構資料
3.資料庫 持久保持,儲存資料量最大
4.Cache 任意大小 可以根據需要設定 整個應用程式/所有使用者 伺服器端
三、資料繫結控制元件:
GridView 控制元件  使用模板
GridView支援以下功能:繫結至資料來源控制元件,內建排序功能,內建更新和刪除功能,內建分頁功能,高亮顯示所在行,全選和全不選功能
AutoGenerateColumns設定是否自動生成列
PageSize 設定每頁顯示多少條資料
AllowPaging 是否允許分頁
AllowSorting 是否允許排序
DataSource指定資料來源
DataKeyNames 設定主鍵

RowDataBound事件 在對行進行了資料繫結後激發
RowCommand事件 當GridView內生成事件時激發
PageIndexChanged事件 在GridView的當前索引已更改時激發

TemplateField欄位
繫結中顯示自定義內容的欄位
有五種模板(標頭、腳註、普通項、交替項、編輯模式)

RowDataBound事件:
呈現 GridView 控制元件之前,該控制元件中的每一行必須繫結到資料來源中的一條記錄。將某個資料行(用 GridViewRow 物件表示)繫結到 GridView 控制元件中的資料以後,將引發 RowDataBound 事件。這使您可以提供一個這樣的事件處理方法,即每次發生此事件時都執行一個自定義例程(如修改繫結到該行的資料的值)。
GridViewRowEventArgs 物件將被傳給事件處理方法,以便您可以訪問正在繫結的行的屬性。若要訪問行中的特定單元格,請使用 GridViewRowEventArgs 物件的 Cells 屬性。使用 RowType 屬性可確定正在繫結的是哪一種行型別(標題行、資料行等等)。

RowCommand事件
在單擊 GridView 控制元件中的按鈕時,將引發 RowCommand 事件。這使您可以提供一個這樣的事件處理方法,即每次發生此事件時執行一個自定義例程。 
GridView 控制元件中的按鈕也可呼叫該控制元件的某些內建功能。若要執行這些操作之一,請將按鈕的 CommandName 屬性設定為下表中的某個值。

DataList控制元件 使用模板
DataList控制元件可以使用模板與定義樣式來顯示資料,最大的特點是一定要通過模板來定義資料的顯示格式。
DataList控制元件的支援模板:
AlternatingItemTemplate 交替項
EditItemTemplate 編輯項
FooterTemplate 腳註部分
HeaderTemplate 頁首節
ItemTemplate 內容和佈局所要求的模板
SelectItemTemplate 選定項
SeparatorTemplate 分隔符 
Bind(“欄位名”):雙向的,可以讀寫 
Eval(“欄位名”):單向的
Repeater 所有內容必須自己設定
各自特點和用法
四、驗證控制元件
   微軟提供的驗證控制元件可以實現哪些驗證?如何禁止驗證
RequiredFieldvalidator 檢查必填欄位中是否含有值
CompareValidator 控制元件將在一個窗體欄位中輸入的值與一個固定的值或任何其他窗體欄位中的值進行比較
RangeValidator 控制元件用於檢查在欄位中輸入的值是否介於最大值與最小值之間
RegularExpressionValidator 控制元件用於檢查欄位值是否與給定的正規表示式相符
CustomValidator 控制元件用來為窗體建立自定義驗證標準
ValidationSummary 控制元件概括窗體中生成的所有錯誤
Page.IsValid 屬性檢查頁面中的所有驗證控制元件是否均已成功進行驗證
自定義驗證控制元件 
有三種方式禁用資料驗證:
1,在特定控制元件中禁用驗證 將相關控制元件的CausesValidation 屬性設定為false 
2,禁用驗證控制元件 將驗證控制元件的enabled 屬性設定為false 
3,禁用客戶端驗證 將驗證控制元件的enabledClientScript屬性設定為false 
五、使用者控制元件
  什麼是使用者控制元件?有什麼優點
使用者控制元件是一種複合控制元件,其工作原理非常類似於asp.net網頁,同時可以向使用者控制元件新增現有的web伺服器控制元件和標記,並定義控制元件的屬性和方法,然後可以將控制元件嵌入asp.net網頁中充當一個單元。
優點:
1,可以將常用的內容或者控制元件以及控制元件的執行程式邏輯設計為使用者控制元件,然後可以在多個網頁中重複使用該使用者控制元件,從而省去很多重複性的工作,如網頁上的導航欄,幾乎每個網頁都需要相同的導航欄,可以將其設計為一個使用者控制元件,在多個網頁中使用。
2,如果網頁內容需要改變,只需要修改使用者控制元件中的內容,其他新增該使用者控制元件的網頁會自動隨之改變,因此網頁的設計以及維護變得簡單易行。
六、web頁面之間的傳值方式有哪幾種?
1,queryString 2,viewState 3,session 4,application 5,cookie6查詢字串

相關文章