成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

ASP.NET中HtmlTextWriter類如何使用

ASP.NET中HtmlTextWriter類如何使用,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供南陽(yáng)網(wǎng)站建設(shè)、南陽(yáng)做網(wǎng)站、南陽(yáng)網(wǎng)站設(shè)計(jì)、南陽(yáng)網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、南陽(yáng)企業(yè)網(wǎng)站模板建站服務(wù),10年南陽(yáng)做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

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

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

public class DemoControl : Control      {    protected override void Render(HtmlTextWriter writer)    {  //1.以輸出字符串形式輸出html  /**//*  writer.Write("<select>");  writer.Write("<option value='0'>asp.net</option>");  writer.Write("<option value='1'>asp.net ajax</option>");  writer.Write("</select>");  */  //2.用.net內(nèi)置推薦的方法輸出html  writer.RenderBeginTag(HtmlTextWriterTag.Select);  writer.AddAttribute(HtmlTextWriterAttribute.Value, "0");  writer.RenderBeginTag(HtmlTextWriterTag.Option);  writer.Write("asp.net");  writer.RenderEndTag();  writer.AddAttribute(HtmlTextWriterAttribute.Value, "1");  writer.RenderBeginTag(HtmlTextWriterTag.Option);  writer.Write("asp.net ajax");  writer.RenderEndTag();    }      }

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

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

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

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

protected override void Render(HtmlTextWriter writer)  {      RenderTable(writer);  }   private void RenderTable(HtmlTextWriter writer)  {      writer.AddStyleAttribute(HtmlTextWriterStyle.BorderWidth, "0");      writer.RenderBeginTag(HtmlTextWriterTag.Table);      RnderPaymentMethod(writer);      RenderCreditCardNo(writer);      RenderCardholderName(writer);      RenderExpirationDate(writer);      RenderSubmitButton(writer);      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)。

//writer.AddAttribute(HtmlTextWriterAttribute.Id, "select1");  writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID);  writer.RenderBeginTag(HtmlTextWriterTag.Select);  //以父標(biāo)簽的id為前綴  writer.AddAttribute(HtmlTextWriterAttribute.Id, this.UniqueID+"_asp");  writer.RenderBeginTag(HtmlTextWriterTag.Option);  writer.Write("asp.net");  writer.RenderEndTag();  writer.RenderEndTag();

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

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

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

string text = this.Text;  if (text.Length > 0)  {      writer.AddAttribute(HtmlTextWriterAttribute.Value, text);  }

關(guān)于ASP.NET中HtmlTextWriter類如何使用問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

本文標(biāo)題:ASP.NET中HtmlTextWriter類如何使用
當(dāng)前URL:http://jinyejixie.com/article48/podjep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)建站品牌網(wǎng)站設(shè)計(jì)、軟件開發(fā)、全網(wǎng)營(yíng)銷推廣、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
怀来县| 雅安市| 嵊泗县| 平潭县| 龙门县| 湘西| 临海市| 青川县| 元江| 隆化县| 乐昌市| 乐昌市| 威远县| 日土县| 尼勒克县| 高淳县| 射阳县| 宁安市| 石嘴山市| 宜川县| 蒙城县| 灌南县| 星座| 澄城县| 沭阳县| 南澳县| 亳州市| 洞口县| 海晏县| 西平县| 锦屏县| 大同县| 九江市| 隆子县| 宁强县| 福海县| 澎湖县| 泾阳县| 盐亭县| 稻城县| 江津市|