日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類淺析

ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽是如何實(shí)現(xiàn)的呢?下面開始我們的步驟:

創(chuàng)新互聯(lián)專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、東港網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5建站、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站制作、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為東港等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽1.

盡量使用內(nèi)置的方法輸出標(biāo)簽

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

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

當(dāng)你熟悉這些方法后,請盡量使用這些方法

ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽2.

分段呈現(xiàn)標(biāo)簽

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

 
 
 
  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控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽3.

規(guī)范標(biāo)簽ID命名

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

 
 
 
  1. //writer.AddAttribute(HtmlTextWriterAttribute.Id, "select1");  
  2. writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);  
  3. writer.RenderBeginTag(HtmlTextWriterTag.Select);  
  4. //以父標(biāo)簽的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控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽4.

判斷輸出動態(tài)屬性

如TextBox的Text屬性,當(dāng)其屬性未設(shè)置時(shí),呈現(xiàn)出來的標(biāo)簽value屬性不呈現(xiàn),即后端要判斷,不然則要呈現(xiàn)value=""這項(xiàng)工作比較繁瑣。

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

暫時(shí)就這些,想到再補(bǔ)充。不想把別的寫進(jìn)去。以后分開寫。大家想到再補(bǔ)充。

ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類規(guī)范輸出標(biāo)簽的實(shí)現(xiàn)就向你介紹到這里,希望對你有所幫助。


分享題目:ASP.NET控件開發(fā)技巧之使用HtmlTextWriter類淺析
URL地址:http://m.5511xx.com/article/djosshg.html