ASP.NET對(duì)無(wú)序列表批量操作的三種方法小結(jié)
方法一,將li元素做成html控件,加上id,用FindControl方法。
aspx代碼:
<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代碼:
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代碼:
<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代碼:
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,對(duì)元素以Dom方式操作。
aspx代碼:
<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="測(cè)試空回發(fā)" />
</form>
aspx.cs代碼:
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í)際情況選用。
- asp.net Ext grid 顯示列表
- asp.net 自制的單選、多選列表實(shí)現(xiàn)代碼
- asp.net 下拉列表無(wú)級(jí)數(shù)據(jù)綁定實(shí)現(xiàn)代碼
- asp.net 新聞列表樣式代碼
- ASP.NET系統(tǒng)關(guān)鍵字及保留字列表整理
- ASP.NET C#生成下拉列表樹(shù)實(shí)現(xiàn)代碼
- ASP.NET中ListView(列表視圖)的使用前臺(tái)綁定附源碼
- asp.net TreeView與XML三步生成列表樹(shù)
- ASP.NET批量操作基于原生html標(biāo)簽的無(wú)序列表的三種方法
- asp.net新聞列表生成靜態(tài)頁(yè)之批量和單頁(yè)生成
- ASP.NET中BulletedList列表控件使用及詳解
相關(guān)文章
asp.net core 跨域配置不起作用的原因分析及解決方案
在ASP.NET Core中配置跨域時(shí),正確的中間件順序至關(guān)重要,否則可能導(dǎo)致跨域無(wú)效,此外,如果同時(shí)使用中間件和屬性來(lái)啟用跨域,需要確保策略名稱(chēng)一致,文章提供了官方簡(jiǎn)單啟用跨域的示例代碼,幫助開(kāi)發(fā)者避免常見(jiàn)的配置錯(cuò)誤2024-10-10
Asp.net 基于Cookie簡(jiǎn)易的權(quán)限判斷
基于Cookie簡(jiǎn)易的權(quán)限判斷代碼,需要的朋友可以參考下。2010-01-01
ASP.NET(C#) 定時(shí)執(zhí)行一段代碼
在Global.asax啟動(dòng)一條線程就ok了,下面是啟動(dòng)線程定時(shí)寫(xiě)文件的例子.2009-11-11
ASP.NET抓取網(wǎng)頁(yè)內(nèi)容的實(shí)現(xiàn)方法
這篇文章主要介紹了ASP.NET抓取網(wǎng)頁(yè)內(nèi)容的實(shí)現(xiàn)方法,涉及使用HttpWebRequest及WebResponse抓取網(wǎng)頁(yè)內(nèi)容的技巧,需要的朋友可以參考下2015-02-02
asp.net 獲取Datalist中Checkbox的值的小結(jié)
最近開(kāi)發(fā)過(guò)程中遇到一個(gè)小問(wèn)題,要獲取checkbox的值,在網(wǎng)上搜索了一下,發(fā)現(xiàn)基本上都是用JS實(shí)現(xiàn)的,現(xiàn)在我將自己的做法記錄一下,以便以后繼續(xù)使用。2010-04-04
DataView.RowFilter的使用(包括in,like等SQL中的操作符)
這篇blog轉(zhuǎn)自C# examples,對(duì)DataView.RowFilter做了詳細(xì)介紹,能像SQL中使用in,like等操作符一樣進(jìn)行過(guò)濾查詢(xún),并附有實(shí)例,使用方便。2011-07-07
.net decimal保留指定的小數(shù)位數(shù)(不四舍五入)
大家都知道decimal保留指定位數(shù)小數(shù)的時(shí)候,.NET自帶的方法都是四舍五入的。那么如何讓decimal保留指定位數(shù)小數(shù)的時(shí)候不四舍五入呢,下面通過(guò)這篇文中的示例代碼來(lái)一起看看吧。2016-12-12
Asp.Net 網(wǎng)站性能優(yōu)化之緩字決 (上) 緩沖寫(xiě)數(shù)據(jù)
通常情況下Asp.Net 網(wǎng)站的底層數(shù)據(jù)存儲(chǔ)都是關(guān)系數(shù)據(jù)庫(kù),關(guān)系數(shù)據(jù)庫(kù)資源比較昂貴,而且也很容易造成瓶頸。緩字決文章就是為大家介紹如何有效使用緩存,異步寫(xiě)緩沖數(shù)據(jù)庫(kù)的壓力,從而保證網(wǎng)站的性能。2010-06-06
gridview checkbox從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)全選和反選
GridView中的checkbox的全選和反選在很多的地方都是要求實(shí)現(xiàn)的,所以下面就從服務(wù)器端和客戶(hù)端兩個(gè)方面實(shí)現(xiàn)了checkbox的選擇,感興趣的朋友可以了解下,希望本文對(duì)你有所幫助2013-01-01
淺析GridView中顯示時(shí)間日期格式的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺析GridView中顯示時(shí)間日期格式的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-05-05

