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

首頁 > 編程 > .NET > 正文

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

2024-07-10 13:24:19
字體:
來源:轉載
供稿:網友
本篇介紹服務器端ASP.NET批量操作基于原生html標簽的無序列表的三種方法。
方法一,將li元素做成html控件,加上id,用FindControl方法。

aspx代碼:

復制代碼 代碼如下:


<form runat="server">
<ul>
<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 runat="server" Text="Button" />
</form>


aspx.cs代碼:

復制代碼 代碼如下:


protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內聯文本值及樣式
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代碼:

復制代碼 代碼如下:


<form runat="server">
<ul 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 runat="server" Text="Button" />
</form>


aspx.cs代碼:

復制代碼 代碼如下:


private int counter = 1;
protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內聯文本值及樣式
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代碼:

復制代碼 代碼如下:


<form runat="server">
<ul 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 runat="server" Text="Button" />
<asp:Button runat="server" Text="測試空回發" />
</form>


aspx.cs代碼:

復制代碼 代碼如下:


protected void Button1_Click(object sender, EventArgs e)
{
//單擊按鈕后批量改變li元素的內聯文本值及樣式
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;
}


以上三種方法各有優缺點,可根據實際情況選用。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 托里县| 镇坪县| 宜昌市| 囊谦县| 江山市| 西畴县| 五寨县| 清原| 沙河市| 茌平县| 固始县| 莱西市| 太和县| 太仓市| 延川县| 民县| 西藏| 长寿区| 绥中县| 自贡市| 虞城县| 张家口市| 镇宁| 齐齐哈尔市| 临漳县| 靖安县| 临清市| 丘北县| 新密市| 乳山市| 于都县| 井冈山市| 二连浩特市| 嘉兴市| 新巴尔虎右旗| 铜山县| 镇江市| 濉溪县| 洪洞县| 杨浦区| 井陉县|