ASP.Net 中的三種控件

---恢復內容開始---瀏覽器

第一種:HTML控件服務器

ASP.Net把HTML控件當成普通字符串渲染到瀏覽器端,不去檢查正確性、沒法在服務器端進行處理。spa

好比:code

1 <input111 type="text" name="name" value=" " />
2 <input type="text" name="name" value=" " />

本身寫的錯誤的HTML控件不會在瀏覽器顯示,也不會報錯。orm

1 //客戶端: 2 <input type="text" name="name" value=" " id="text1"/>
3 -------------------------------------------------------4 //服務器端: 5 protected void Page_Load(object sender, EventArgs e) 6 { 7  text1.Text = "abc"; //報錯,名稱"text1"不存在 8 }

 

第二種:ASP.Net服務端控件server

通過ASP.Net高度封裝的控件,使用簡單,運行在服務器端,能夠在服務端使用C#代碼進行操做,會渲染到客戶端爲HTML控件。blog

好比:字符串

1 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

在瀏覽器端渲染爲:get

1 <input name="TextBox1" type="text" id="TextBox1" />

 

第三種:runat="server"的HTML控件。input

在HTML控件的基礎上添加 runat="server",也是運行在服務器端的,也能夠服務器端使用C#代碼進行操做,也會渲染到客戶端,不像ASP.Net服務端控件那樣高度封裝,暴露的屬性大部分是普通HTML屬性。和ASP.Net服務端控件相比的好處是:當須要服務器端要對控件進行操做的時候,若是控件沒有被ASP.Net服務端控件封裝的時候,用runat="server"的HTML控件很方便,runat="server"的HTML控件也會對虛擬路徑、id -> ClientID 進行處理,因此在使用虛擬路徑、UserControl中也可能會用到。

好比:

 1 protected void Page_Load(object sender, EventArgs e)  2 {  3      //ASP.Net服務器端控件高度封裝,設置樣式
 4      TextBox1.BackColor = Color.Red;   //設置背景顏色
 5      TextBox1.BorderStyle = BorderStyle.Dotted; //設置邊框  6  
 7      //runat="server"的HTML控件沒有封裝,設置樣式方式不統一  8      //Text1爲文本框id,td1爲表格的單元格id
 9      Text1.Value = "aaa";  //設置文本框內的值
10      td1.Align = "center"; 11      td1.BgColor = "red"; 12      td1.Width = "50%"; 13 } 14 ------------------------------------------------------------
15 //Text1能按原始的方式設置樣式
16 <input type="text" style="background-color:Green;border:dotted;" runat="server" id="Text1"/>   

 <a> -> HtmlAnchor;<form> -> HtmlForm;head -> HtmlHead;input -> HtmlInputButton、HtmlInputCheckBox、HtmlInputText等;meta -> HtmlMeta;table -> HtmlTable;tr -> HtmlTableRow;td -> HtmlTableCell;title -> HtmlTitle。未單獨封裝的標籤(好比div)對應類型爲HtmlGenericControl。使用Attributes屬性操做未封裝的屬性。

 PS:在JS腳本中取第一種和第三種服務器端控件的ID方法:

document.getElementById("<%=Button1.ClientID %>");

document.getElementById("<%=TextBox1.ClientID %>");

相關文章
相關標籤/搜索