国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

ASP.NET對(duì)無(wú)序列表批量操作的三種方法

2019-11-17 01:46:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

asp.net對(duì)無(wú)序列表批量操作的三種方法

在網(wǎng)頁(yè)開(kāi)發(fā)中,經(jīng)常要用到無(wú)序列表。事實(shí)上在符合W3C標(biāo)準(zhǔn)的div+CSS布局中,無(wú)序列表被大量使用,ASP.NET雖然內(nèi)置了BulletedList控件,用于創(chuàng)建和操作無(wú)序列表,但感覺(jué)不太好用。本篇介紹服務(wù)器端ASP.NET批量操作基于原生html標(biāo)簽的無(wú)序列表的三種方法。

方法一,將li元素做成html控件,加上id,用FindControl方法。

aspx代碼:

[html]view plaincopy
  1. <formid="form1"runat="server">
  2. <ul>
  3. <liid="li1"runat="server">初始值1</li>
  4. <liid="li2"runat="server">初始值2</li>
  5. <liid="li3"runat="server">初始值3</li>
  6. <liid="li4"runat="server">初始值4</li>
  7. <liid="li5"runat="server">初始值5</li>
  8. <liid="li6"runat="server">初始值6</li>
  9. <liid="li7"runat="server">初始值7</li>
  10. <liid="li8"runat="server">初始值8</li>
  11. </ul>
  12. <asp:ButtonID="Button1"runat="server"Text="Button"onclick="Button1_Click"/>
  13. </form>

aspx.cs代碼:

[csharp]view plaincopy
  1. PRotectedvoidButton1_Click(objectsender,EventArgse)
  2. {
  3. //單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
  4. for(inti=1;i<=8;i++)
  5. {
  6. HtmlGenericControlli=this.FindControl("li"+i)asHtmlGenericControl;
  7. li.InnerHtml="新值"+i.ToString();
  8. li.Attributes.CssStyle.Value="color:red";
  9. }
  10. }

方法二,將ul、li元素做成html控件,用ul控件的Controls集合遍歷。

aspx代碼:

[html]view plaincopy
  1. <formid="form1"runat="server">
  2. <ulid="ul1"runat="server">
  3. <lirunat="server">初始值1</li>
  4. <lirunat="server">初始值2</li>
  5. <lirunat="server">初始值3</li>
  6. <lirunat="server">初始值4</li>
  7. <lirunat="server">初始值5</li>
  8. <lirunat="server">初始值6</li>
  9. <lirunat="server">初始值7</li>
  10. <lirunat="server">初始值8</li>
  11. </ul>
  12. <asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/>
  13. </form>

aspx.cs代碼:

[csharp]view plaincopy
  1. privateintcounter=1;
  2. protectedvoidButton1_Click(objectsender,EventArgse)
  3. {
  4. //單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
  5. foreach(Controlcontrolinul1.Controls)
  6. {
  7. if(controlisHtmlGenericControl)
  8. {
  9. HtmlGenericControlli=controlasHtmlGenericControl;
  10. li.InnerHtml="新值"+(counter++).ToString();
  11. li.Attributes.CssStyle.Value="color:red";
  12. }
  13. }
  14. }

方法三,利用HtmlAgilityPack,對(duì)元素以Dom方式操作。

aspx代碼:

[html]view plaincopy
  1. <formid="form1"runat="server">
  2. <ulid="ul1"runat="server">
  3. <li>初始值1</li>
  4. <li>初始值2</li>
  5. <li>初始值3</li>
  6. <li>初始值4</li>
  7. <li>初始值5</li>
  8. <li>初始值6</li>
  9. <li>初始值7</li>
  10. <li>初始值8</li>
  11. </ul>
  12. <asp:ButtonID="Button1"runat="server"Text="Button"OnClick="Button1_Click"/>
  13. <asp:ButtonID="Button2"runat="server"Text="測(cè)試空回發(fā)"/>
  14. </form>

aspx.cs代碼:

[csharp]view plaincopy
  1. protectedvoidButton1_Click(objectsender,EventArgse)
  2. {
  3. //單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
  4. HtmlDocumenthtmlDoc=newHtmlDocument();
  5. htmlDoc.LoaDHTML(ul1.InnerHtml);
  6. HtmlNodeCollectionlis=htmlDoc.DocumentNode.SelectNodes("li");
  7. for(inti=0;i<lis.Count;i++)
  8. {
  9. lis[i].InnerHtml="新值"+(i+1).ToString();
  10. lis[i].Attributes.Add("style","color:red");
  11. }
  12. ul1.InnerHtml=htmlDoc.DocumentNode.InnerHtml;
  13. }

以上三種方法各有優(yōu)缺點(diǎn),可根據(jù)實(shí)際情況選用。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 大兴区| 巢湖市| 乐山市| 平南县| 扶绥县| 长治县| 武威市| 颍上县| 定兴县| 四川省| 苍南县| 泾源县| 石楼县| 聊城市| 莱阳市| 彭泽县| 奇台县| 蓝田县| 左贡县| 城固县| 罗田县| 灵宝市| 东城区| 岚皋县| 鄂托克旗| 隆子县| 淄博市| 海晏县| 邓州市| 平乐县| 西盟| 宁蒗| 霍林郭勒市| 台东市| 大邑县| 修水县| 隆昌县| 兰坪| 浑源县| 夏津县| 桃江县|