我有一个如下定义的列表:
<ul id="myList" class='myClass'>
<li class="myItemClass">Item 1</li>
<li class="myItemClass">Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
使用.NET如何动态地向列表中添加项?我还需要在每个新项目上指定类名
bal*_*dre 15
你甚至可以使用那个HTML,添加runat ="server"你就能把它当作一个HTMLControl来对待它是什么控件,我经常用div做
<ul id="myList" runat="server" class="myClass">
<li class="myItemClass">Item 1</li>
<li class="myItemClass">Item 2</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后你得到HTMLControl并玩它
HtmlGenericControl li;
for (int x = 3; x <= 10; x++)
{
li = new HtmlGenericControl("li");
li.Attributes.Add("class", "myItemClass");
li.InnerText = "Item " + x;
myList.Controls.Add(li);
}
Run Code Online (Sandbox Code Playgroud)
你会最终得到:
<ul id="myList" runat="server" class="myClass">
<li class="myItemClass">Item 1</li>
<li class="myItemClass">Item 2</li>
<li class="myItemClass">Item 3</li>
<li class="myItemClass">Item 4</li>
<li class="myItemClass">Item 5</li>
<li class="myItemClass">Item 6</li>
<li class="myItemClass">Item 7</li>
<li class="myItemClass">Item 8</li>
<li class="myItemClass">Item 9</li>
<li class="myItemClass">Item 10</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
当然,您可以使用有序或无人看法列表,它们也位于ASP.NET Web控件下面.
<asp:BulletedList runat="server" ...
Run Code Online (Sandbox Code Playgroud)
您可以使用asp:BulletedList之类的
<asp:BulletedList ID="MyList1" CssClass="MyClass" runat="server">
<asp:ListItem Text="Item1" class="MyClass" />
</asp:BulletedList>
Run Code Online (Sandbox Code Playgroud)
添加添加代码,例如
ListItem item = new ListItem("Item2");
item.Attributes.Add("class", "MyClass");
MyList1.Items.Add(item);
Run Code Online (Sandbox Code Playgroud)
或者,如果由于某些特定原因需要使用ul标记,则可以向其中添加runat =“ server”。例如
<ul id="MyList2" class="MyClass" runat="server">
<li class="MyClass">Item1</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
用像这样的代码
HtmlGenericControl li = new HtmlGenericControl("li");
li.Attributes.Add("class", "MyClass");
li.InnerText = "Item2";
MyList2.Controls.Add(li);
Run Code Online (Sandbox Code Playgroud)
解决这个问题最简单的方法是使用 asp 转发器控件
<ul id="myList" class='myClass'>
<asp:Repeater ID="repeaterMyList" Runat="server">
<ItemTemplate>
<li class="myItemClass">
<%# Eval("Item") %>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
Run Code Online (Sandbox Code Playgroud)
[编辑] - 请记住在repeaterMyList上设置数据源并在代码隐藏中的repeater控件上调用databind。
repeaterMyList.DataSource = someDataTable;
repeaterMyList.DataBind();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21594 次 |
| 最近记录: |