成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ASP.NET控件開發技巧之使用HtmlTextWriter類淺析

開發 后端
ASP.NET控件開發技巧之使用HtmlTextWriter類主要向你講述了使用HtmlTextWriter類規范輸出標簽的應用,

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽是如何實現的呢?下面開始我們的步驟:

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽1.

盡量使用內置的方法輸出標簽

寫過控件的人沒有人會說沒用過Render和RenderContents方法,其中關鍵的類就是用HtmlTextWriter類的一些方法把html標簽呈現出來,但其寫法不同,效果卻相同。如輸出一個下拉框:

  1. public class DemoControl : Control  
  2.     {  
  3.   protected override void Render(HtmlTextWriter writer)  
  4.   {  
  5. //1.以輸出字符串形式輸出html  
  6. /**//*  
  7. writer.Write("<select>");  
  8. writer.Write("<option value='0'>asp.net</option>");  
  9. writer.Write("<option value='1'>asp.net ajax</option>");  
  10. writer.Write("</select>");  
  11. */ 
  12.  
  13. //2.用.net內置推薦的方法輸出html  
  14. writer.RenderBeginTag(HtmlTextWriterTag.Select);  
  15. writer.AddAttribute(HtmlTextWriterAttribute.Value, "0");  
  16. writer.RenderBeginTag(HtmlTextWriterTag.Option);  
  17. writer.Write("asp.net");  
  18. writer.RenderEndTag();  
  19. writer.AddAttribute(HtmlTextWriterAttribute.Value, "1");  
  20. writer.RenderBeginTag(HtmlTextWriterTag.Option);  
  21. writer.Write("asp.net ajax");  
  22. writer.RenderEndTag();  
  23.   }  
  24.     } 

當你熟悉這些方法后,請盡量使用這些方法

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽2.

分段呈現標簽

此方法等于為重構,當標簽呈現的比較多,請不要一步到底的寫下來,分部把需要的東西寫在各個方法里面再組合,
如http://www.cnblogs.com/Clingingboy/archive/2006/07/30/463471.html的示例三,說實話的,雖然用HtmlTextWriter的函數輸出標簽,但還不如直接輸出字符串來的明白,一大堆的RenderBeginTag和RenderEndTag方法。請分段呈現標簽,分拆函數。然后以Render開頭的函數命名,這樣看起來就清晰多了。

  1. protected override void Render(HtmlTextWriter writer)  
  2. {  
  3.     RenderTable(writer);  
  4. }  
  5.  
  6. private void RenderTable(HtmlTextWriter writer)  
  7. {  
  8.     writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "0");  
  9.     writer.RenderBeginTag(HtmlTextWriterTag.Table);  
  10.     RnderPaymentMethod(writer);  
  11.     RenderCreditCardNo(writer);  
  12.     RenderCardholderName(writer);  
  13.     RenderExpirationDate(writer);  
  14.     RenderSubmitButton(writer);  
  15.     writer.RenderEndTag();  

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽3.

規范標簽ID命名

不要把控件的頭標簽把ID名字定死,防止名字重疊,可以把Control的UniqueID屬性賦給ID屬性,子標簽也一樣。可以以父標簽的id為前綴,然后再加以命名。另外的好處就是可以跟前端交互,靈活性增強。

  1. //writer.AddAttribute(HtmlTextWriterAttribute.Id, "select1");  
  2. writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);  
  3. writer.RenderBeginTag(HtmlTextWriterTag.Select);  
  4. //以父標簽的id為前綴  
  5. writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID+"_asp");  
  6. writer.RenderBeginTag(HtmlTextWriterTag.Option);  
  7. writer.Write("asp.net");  
  8. writer.RenderEndTag();  
  9. writer.RenderEndTag(); 

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽4.

判斷輸出動態屬性

如TextBox的Text屬性,當其屬性未設置時,呈現出來的標簽value屬性不呈現,即后端要判斷,不然則要呈現value=""這項工作比較繁瑣。

  1. string text = this.Text;  
  2. if (text.Length > 0)  
  3. {  
  4.     writer.AddAttribute(HtmlTextWriterAttribute.Value, text);  

暫時就這些,想到再補充。不想把別的寫進去。以后分開寫。大家想到再補充。

ASP.NET控件開發技巧之使用HtmlTextWriter類規范輸出標簽的實現就向你介紹到這里,希望對你有所幫助。

【編輯推薦】

  1. ASP.NET優點淺析
  2. ASP.NET組件設計淺析
  3. ASP.NET組件設計代碼實現淺析
  4. ASP.NET控件開發之修改服務器控件方法淺析
  5. ASP.NET控件開發之UpdatePanel觸發JavaScript腳本技巧
責任編輯:仲衡 來源: 博客園
相關推薦

2009-08-05 18:46:21

ComboBox顯示ASP.NET控件開發

2009-08-06 15:21:45

ASP.NET控件開發RenderConte

2009-08-05 10:17:55

ASP.NET TheASP.NET開發技巧

2009-08-07 15:24:16

ASP.NET模板控件

2009-08-07 14:05:21

ASP.NET控件

2009-07-29 13:42:25

ASP.NET注釋

2009-08-07 15:34:15

ASP.NET數據綁定

2009-08-06 09:18:01

ASP.NET自定義控ASP.NET控件開發

2009-07-29 13:32:06

ASP.NET控件使用

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-07 17:59:35

控件設計器

2009-08-04 15:20:59

ASP.NET數據驗證數據驗證控件

2009-07-28 16:21:03

Asp.net AjaAutoComplet

2009-08-06 18:18:27

ASP.NET控件開發ASP.NET復合控件

2009-08-05 17:11:51

ASP.NET控件開發ASP.NET服務器控

2009-07-29 13:12:36

StringBuildASP.NET技巧

2009-08-07 17:41:07

ASP.NET Web

2009-07-29 10:52:09

數據采集程序ASP.NET技巧

2009-07-28 09:32:41

ASP.NET自定義控

2009-08-05 17:58:24

UpdatePanel
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区国语对白 | 97高清国语自产拍 | 在线视频中文字幕 | 国产精品高清一区二区 | 午夜精品网站 | 欧美激情一区二区三区 | 美美女高清毛片视频免费观看 | 一二区视频| 黄色国产视频 | 欧美视频一区二区三区 | 欧美天堂 | 亚洲日本欧美日韩高观看 | 午夜激情一区 | 精品日韩一区 | 日韩午夜精品 | 91超碰caoporn97人人 | 日本不卡一区 | 亚洲欧美日韩在线一区二区 | 超黄毛片 | 91黄在线观看 | 欧美高清hd | 中文字幕乱码一区二区三区 | 精久久久 | 国产亚洲成av人片在线观看桃 | 蜜桃免费一区二区三区 | 国产精品一区二区久久久久 | 亚洲一一在线 | 超碰在线久| www.日本精品 | 中文精品视频 | 男人天堂99 | 日韩在线一区二区三区 | www4虎| 日本三级精品 | 日韩一级免费电影 | 久久九精品 | 欧美一区二区大片 | 中文字幕第一页在线 | 婷婷色网 | 亚洲精品一 | 成人免费毛片片v |