【问题标题】:Bulleted List hyperlink style Asp .net项目符号列表超链接样式 Asp .net
【发布时间】:2016-01-29 20:10:46
【问题描述】:
<asp:BulletedList ID="BulletedList1" runat="server" DisplayMode="HyperLink" style="list-style :none" >    

我正在将列表项动态添加到上述项目符号列表中。如何为每个列表的 href 添加样式。

【问题讨论】:

    标签: c# asp.net css


    【解决方案1】:

    你可以传递css-class属性:

    声明式:

    <style>   
        class1 {  text-decoration:none; font-weight:bold; color:#e00000; }
        ... 
    </style>
    
    <asp:BulletedList ID="BulletedList1" DisplayMode="HyperLink" runat="server">
      <asp:ListItem class="class1">a</asp:ListItem>
      <asp:ListItem class="class2">b</asp:ListItem>
    </asp:BulletedList>
    

    以编程方式:

    protected void Page_Load(object sender, EventArgs e)
    {
       ListItem listItem = new ListItem("c");
       listItem.Attributes.Add("class", "class1");
       BulletedList1.Items.Add(listItem);
    }
    

    【讨论】:

    • 我有项目符号列表显示模式作为超链接,那么我将如何将类添加到 href 标签?
    • 你有没有尝试过定义一个适合你风格的css类?
    • 是的,我正在使用预定义的样式,它在整个应用程序中使用。
    • 我的不工作。在ListItem 中,它告诉我类不是值属性。
    【解决方案2】:

    如果您将列表项动态添加到 BulletList,那么您可以通过这种方式将样式添加到列表项

    listItem1.Attributes.Add("Class", "NameOfTheClass"); 
    

    listItem1.Attributes.Add("style", "YourInlineCss"); 
    

    【讨论】:

    • 它将类添加到
    • 元素而不是
    • 中的 href 部分
  • @ChittaSukla 你可以为 li.a 编写 css 类
  • @ChittaSukla:当您在 CSS 中声明样式时,将其定义为 class1 a{ color:#00f;)
  • 我在应用程序上使用预定义的样式以避免将来的维护。
  • 【解决方案3】:

    试试这个:

    文件.css:

    .href a:link a:visited
    {
        color: Red;
    }
    
    .href a:hover
    {
        color: Yellow;
        text-decoration: none;
    }
    
    .href a:active
    {
        color: Green;
    } 
    

    代码.aspx:

    <asp:BulletedList ID="BulletedList1" runat="server" 
            DataSourceID="SqlDataSource1" DataTextField="nome" DataValueField="id" 
            DisplayMode="HyperLink" CssClass="href">
        </asp:BulletedList>
    

    版本交互:

    for (int i = 0; i < BulletedList1.Items.Count; i++)
    {
            if (i % 2 == 0)
            {
                BulletedList1.Items[i].Attributes.CssStyle.Value = "href";
            }
            else
            {
                BulletedList1.Items[i].Attributes.CssStyle.Value = "other";
            }
    }
    

    【讨论】:

    • 我无法定义自己的 CSS。我必须使用预定义的 css,跨组织使用,以避免将来的维护。
    • 用公司css替换href等。
    【解决方案4】:

    我已经通过添加一个 jQuery 选择器事件来解决这个问题。

    $("<%=BulletedList1.ClientID%> li a").each(function() { 
        $(this).addClass('ClassName')
    });
    

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签