.Net之路(十)控件篇

 

    繼上一篇的asp.net總結,因爲上篇主要是對一些宏觀的概念進行講解,同窗反映太過簡單。遂本文對控件html


部分加以詳細總結,與你們分享。#%%--靜候板磚web


 

計算機生成了可選文字:)一一―自htm.州一’一」一’、、1'Unat二SerVer獷…、··-一。夕夕護Asp.llet拎件工亙)。庵護

 

如上圖。雖然分支有點多,基本上仍是能夠看的清的,大致上分爲html控件、web控件、驗證控件、用戶控正則表達式


件、自定義控件。服務器




Html控件



概念asp.net


通常運行在客戶端進行運行,不會提交到服務器端。舉個例子,點擊某個按鈕,更換皮膚,這只是函數


對這個機器的客戶端發生來改變,而不會提交到服務器端的。工具


使用ui


使用vs或者Dw建立html頁後,直接拖拽就能夠了。拖拽後咱們看到源代碼相似如此spa


<input id="Button1"type="button" value="button" />這是一個按鈕控件,由inputtype來肯定這個控件,其餘均是這個控件的屬性和方法等。.net


有本身的事件和方法,onclickonfocus等。經過事件來觸發函數,進而對頁面進行必定的操做。



web控件



概念


什麼是web控件?相似於html服務器端控件,在服務器端建立。爲何說是相似於呢?在下面的使用

中咱們能夠看到。


使用


在生成代碼後一個web按鈕控件的代碼是這樣的


<asp:ButtonID="Button1" runat="server" Text="Button" />


比較一下,html控件和web控件生成代碼後的效果。咱們能夠看到在web控件中控件會繼承asp這樣一


個類,固然還有一個很重要的屬性runnat="server"。直接在<inputid="Button1" type="button" value="button" />添加


一個runat="server"屬性後,就獲得來html的服務器控件。這也就是爲何說web控件相似於html服務


器端控件,這樣的話才能夠在服務器端運行。


html控件和web控件的區別(瞭解)


簡單認識了htmlweb控件,來搞一下html控件和web控件有什麼區別。


<inputid="Button1" type="button" value="button" />

<asp:ButtonID="Button1" runat="server" Text="Button" />


web控件中統一的將全部控件都繼承在asp類下面進行統一的管理,統一的命名空間更好的管理控件的屬


性和方法。固然web控件和html控件有不少的區別,只瞭解下,知道怎麼去用就能夠了。詳解


見:http://wenku.baidu.com/view/a10bf8ec4afe04a1b071de42.html


驗證控件


RequiredFieldValidator


從字面上理解就是必須字段的驗證


使用


幾乎全部的控件在使用上都是來設定一些值或者函數來實現驗證,因此沒有必要對每一個控件的使用


都一一詳細的去作。只知道這個控件大致上是什麼功能,參照某一個驗證控件的用法,一一破解即


可。


ControlToValidate:表示要進行檢查控件ID;


ErrorMessage:表示當檢查不合法時,出現的錯誤信息;


Display:錯誤信息的顯示方式;Static表示控件的錯誤信息在頁面中佔有確定位置;Dymatic表示控件


錯誤信息出現時才佔用頁面控件;None表示錯誤出現時不顯示,可是能夠在ValidatorSummary中顯


示;


佔位符:表示Display爲Static時,錯誤信息佔有"佔位符"那麼大的頁面空間;


 

來自 <http://www.cnblogs.com/UouHt/archive/2008/12/08/1350639.html>

 

demon one

 
<asp:RequiredFieldValidatorID="RequiredFieldValidator1" runat="server"
       ControlToValidate="TextBox1" ErrorMessage="必須填寫"></asp:RequiredFieldValidator>
    <asp:TextBox ID="TextBox1"runat="server"></asp:TextBox>
    <asp:Button ID="Button1"runat="server" Text="Button" />


 

以上是一個很簡單的驗證在文本框中須要寫入值的驗證,咱們能夠看到經過設定


ControlToValidateErrorMessage就能夠實現了。頗有意思,能夠試試。


CompareValidator


 按設定比較兩個輸入的值的大小。這裏咱們能夠想到既然要比較 ,就會有兩個控件,兩個控件就需


要綁定兩個控件因此就有ControlToValidate="要驗證的控件ID"、ControlToCompare="要比較的控件


ID";是要比較什麼呢?是string仍是int因此確定有一個數據類型的指示type;怎麼比較,operator,所


以這些東西都是很是人性化的。感受是理所固然的一件事情,下面的固然就無需一一去作了。在網


上有不少這樣很是豐富的總結,我更感受這是筆記(我以前也有不少是這樣的),嘿嘿,查起來很


方便。固然深刻的實踐,還須要繼續研究。


RangeValidator


        驗證輸入是否在指定範圍 


RegularExpressionValidator


正則表達式驗證控件 


CustomValidator


     自定義驗證控件 


ValidationSummary


    總結驗證結果


用戶控件


擴展名.ascx;與完整的web窗體類似,但不包含html body form等元素。


Demon two

直接在vs能夠右鍵添加新建項->添加web用戶控件(擴展名爲ascx)


<%@Control Language="C#" AutoEventWireup="true"CodeBehind="ControlTest.ascx.cs"Inherits="UoserControlTest.ControlTest" %>
<asp:LabelID="Label1" runat="server"
   style="z-index: 1; left: 122px; top: 68px; position: absolute"Text="用戶名"></asp:Label>
<asp:TextBoxID="txtUserName" runat="server"
    style="z-index: 1; top: 70px;position: absolute; left: 209px"></asp:TextBox>
<p>
    <asp:TextBox ID="txtPwd"runat="server"
        style="z-index: 1; left: 210px;top: 132px; position: absolute"></asp:TextBox>
</p>
<asp:LabelID="Label2" runat="server"
   style="z-index: 1; left: 120px; top: 134px; position:absolute" Text="密碼"></asp:Label>


如何引用直接拖到指定須要的地方就能夠了


<%@ Register src="ControlTest.ascx"tagname="ControlTest" tagprefix="uc1" %>,謂之註冊

 

自定義控件

其實用戶控件和自定義控件在某種程度上都屬於自定義的,簡單理解都是用戶根據本身的須要來定製


的。但是爲何要分爲兩種呢?這是因爲這兩種控件的建立方式和使用的區別形成的。用戶控件相對創


建起來較爲簡單,直接新建ascx文件,而後根據本身的需求定製就能夠了。而後在相關的頁面註冊就能夠


直接使用了,這個過程是動態編譯的。至於什麼是動態編譯,我也搞不懂,簡單理解一下就是在編譯的


時候須要調用系統的一些dll文件,這樣來實現編譯,固然速度有點慢,相對的就是自定義控件的靜態編


譯了。用戶控件在編譯的時候直接將dll文件所需文件抽取出來連接到生成的可執行文件中,這樣一來就


無需每次都加載dll,節省時間。這是自定義控件和用戶控件在建立時候的區別;在使用的時候自定義控


件是能夠相似於通常控件同樣,添加在左側的工具欄中;而用戶控件須要每次在使用頁註冊,也就是連接一下。

在這篇文章裏,自定義控件就總結到。後面再對對自定義控件的使用,實現一個例子,再來理解一下。

 

總結


大致上,控件就總結到這裏了。有html控件,以後+runat="server"就能聯想到web控件(內部控件);由


內部控件再到自定義控件自定義控件裏面有用戶控件;最後還有一個驗證控件。其實還有一類是數據控


件,可是那個能夠放到ado.net裏面來說。控件的使用,不少地方都是相似的。例如:驗證控件,數據控


件,知道了一個,其餘都差很少。只須要跟着視頻鞏固就行了。

相關文章
相關標籤/搜索