12

我需要用asp.net控件制作这个结构,但是ListItem不允许添加属性和类。

最好的方法是什么?

<ul>
 <li class="1">SomeText</li>
 <li class="2">SomeText2</li>
</ul>
4

4 回答 4

26

您可以通过类属性:

<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);
}
于 2009-06-23T06:25:16.060 回答
4

您仍然可以添加自定义属性:

// assuming li is your WebControl or HtmlControl:
li.Attributes.Add("class", "1");
于 2009-06-23T06:23:33.363 回答
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);
    }   
}
于 2011-05-25T11:51:17.753 回答
1

这对我来说很好,但使用下拉列表和 VB

    Dim ListItem As ListItem = New ListItem("All folders", 0)
    ListItem.Attributes.Add("style", "color:red;")
    DropDownListFolders.Items.Add(ListItem)
于 2011-02-23T11:25:27.107 回答