首页 > 编程 > HTML > 正文

ASP.NET批量操作基于原生html标签的无序列表的三种方法

2020-03-24 15:59:19
字体:
来源:转载
供稿:网友
在网页开发中,经常要用到html' target='_blank'>无序列表。事实上在符合W3C标准的div+css布局中,无序列表被大量使用,ASP.NET虽然内置了BulletedList控件,用于创建和操作无序列表,但感觉不太好用。本篇介绍服务器端ASP.NET批量操作基于原生html标签的无序列表的三种方法。方法一,将li元素做成html控件,加上id,用FindControl方法。aspx代码: form id="form1" runat="server" 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" / /form aspx.cs代码:protected void Button1_Click(object sender, EventArgs e) //单击按钮后批量改变li元素的内联文本值及样式 for (int i = 1; i 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" / /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 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" / asp:Button ID="Button2" 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; }以上三种方法各有优缺点,可根据实际情况选用。更多编程语言

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表