我需要用asp.net控件制作这个结构,但是ListItem不允许添加属性和类。
最好的方法是什么?
<ul>
<li class="1">SomeText</li>
<li class="2">SomeText2</li>
</ul>
您可以通过类属性:
<asp:BulletedList ID="BulletedList1" runat="server">
<asp:ListItem class="1">SomeText</asp:ListItem>
<asp:ListItem class="2">SomeText2</asp:ListItem>
</asp:BulletedList>
. . .
protected void Page_Load(object sender, EventArgs e)
{
ListItem listItem = new ListItem("Test 3");
listItem.Attributes.Add("class", "3");
BulletedList1.Items.Add(listItem);
}
您仍然可以添加自定义属性:
// assuming li is your WebControl or HtmlControl:
li.Attributes.Add("class", "1");
列表视图中的下拉菜单 - 如果您想在下拉文本大小固定时提供选择项目的弹出窗口:
protected void lstViewVehicle_ItemCreated(object sender, ListViewItemEventArgs e)
{
try
{
if (e.Item.ItemType == ListViewItemType.InsertItem)
{
DropDownList ddl = (DropDownList)e.Item.FindControl("ddlDescription");
if (ddl != null)
{
string description = exp_Type_Vehicle;
clsBER objclsBER = new clsBER();
DataSet ds = objclsBER.FillDropdown(description);
foreach (DataRow dr in ds.Tables[0].Rows)
{
ListItem lstitem = new ListItem(dr["expense_description"].ToString(), dr["eid"].ToString());
lstitem.Attributes.Add("title", dr["expense_description"].ToString());
//lstitem.Attributes.Add("style", "color:blue");
ddl.Items.Add(lstitem);
}
ddl.DataBind();
}
}
}
catch (Exception ex)
{
(new csComman()).dealWithEx(ex, Session);
Response.Redirect("ErrorPage/ErrorPage.aspx", false);
}
}
这对我来说很好,但使用下拉列表和 VB
Dim ListItem As ListItem = New ListItem("All folders", 0)
ListItem.Attributes.Add("style", "color:red;")
DropDownListFolders.Items.Add(ListItem)