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

首頁 > 編程 > .NET > 正文

ASP.NET對無序列表批量操作的三種方法小結(jié)

2020-01-18 00:33:13
字體:
供稿:網(wǎng)友
本篇介紹服務(wù)器端ASP.NET批量操作基于原生html標(biāo)簽的無序列表的三種方法。
方法一,將li元素做成html控件,加上id,用FindControl方法。

aspx代碼:
復(fù)制代碼 代碼如下:

<form id="form1" runat="server">
<ul>
<li id="li1" runat="server">初始值1</li>
<li id="li2" runat="server">初始值2</li>
<li id="li3" runat="server">初始值3</li>
<li id="li4" runat="server">初始值4</li>
<li id="li5" runat="server">初始值5</li>
<li id="li6" runat="server">初始值6</li>
<li id="li7" runat="server">初始值7</li>
<li id="li8" runat="server">初始值8</li>
</ul>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
</form>

aspx.cs代碼:
復(fù)制代碼 代碼如下:

protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
for (int i = 1; i <= 8; i++)
{
HtmlGenericControl li = this.FindControl("li" + i) as HtmlGenericControl;
li.InnerHtml = "新值" + i.ToString();
li.Attributes.CssStyle.Value = "color:red";
}
}

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

aspx代碼:
復(fù)制代碼 代碼如下:

<form id="form1" runat="server">
<ul id="ul1" runat="server">
<li runat="server">初始值1</li>
<li runat="server">初始值2</li>
<li runat="server">初始值3</li>
<li runat="server">初始值4</li>
<li runat="server">初始值5</li>
<li runat="server">初始值6</li>
<li runat="server">初始值7</li>
<li runat="server">初始值8</li>
</ul>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>

aspx.cs代碼:
復(fù)制代碼 代碼如下:

private int counter = 1;
protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
foreach (Control control in ul1.Controls)
{
if (control is HtmlGenericControl)
{
HtmlGenericControl li = control as HtmlGenericControl;
li.InnerHtml = "新值" + (counter++).ToString();
li.Attributes.CssStyle.Value = "color:red";
}
}
}

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

aspx代碼:
復(fù)制代碼 代碼如下:

<form id="form1" runat="server">
<ul id="ul1" runat="server">
<li>初始值1</li>
<li>初始值2</li>
<li>初始值3</li>
<li>初始值4</li>
<li>初始值5</li>
<li>初始值6</li>
<li>初始值7</li>
<li>初始值8</li>
</ul>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="測試空回發(fā)" />
</form>

aspx.cs代碼:
復(fù)制代碼 代碼如下:

protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內(nèi)聯(lián)文本值及樣式
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(ul1.InnerHtml);
HtmlNodeCollection lis = htmlDoc.DocumentNode.SelectNodes("li");
for (int i = 0; i < lis.Count; i++)
{
lis[i].InnerHtml = "新值" + (i + 1).ToString();
lis[i].Attributes.Add("style", "color:red");
}
ul1.InnerHtml = htmlDoc.DocumentNode.InnerHtml;
}

以上三種方法各有優(yōu)缺點(diǎn),可根據(jù)實(shí)際情況選用。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 罗定市| 阜平县| 山阴县| 遂溪县| 红安县| 兴宁市| 白朗县| 贵德县| 钟祥市| 夏津县| 奉化市| 西峡县| 麦盖提县| 吐鲁番市| 通渭县| 黄平县| 竹山县| 明水县| 灵武市| 封开县| 板桥市| 嘉定区| 普洱| 星子县| 淮北市| 惠来县| 兴文县| 湟中县| 道真| 抚顺市| 淮北市| 沁水县| 阿拉善左旗| 吉水县| 新河县| 都安| 武陟县| 永德县| 灵璧县| 天柱县| 江永县|