Asp.net C# 如何制作具有一种不同颜色的面包屑索引

Asp.net C# how to make make a breadcrumb index with one different colour

好吧 asp.net 根本不是我的语言。但是,我被要求修改一个预定义的站点,该站点的面包屑索引全部为蓝色。 这是现在的样子:

所以现在我只需要更改图片中列出的其中一个项目的颜色,比如说将前景设为黄色....

好吧,正如我所说,我根本不是专家,或者更好的是,我不完全理解它是如何工作的。 据我所知,每个页面在导航中都有相同的面包屑索引,该索引取自 web.sitemap 文件,如下所示:

<?xml version="1.0" encoding="utf-8" ?>

        <siteMapNode title="Comunicazioni" url="~/SiteMap/Comunicazioni/Default.aspx" description="Comunicazioni verso gli iscritti">
            <siteMapNode url="~/SiteMap/Comunicazioni/IscrizioneCancellazione.aspx" title="Iscrizione Cancellazione" description="Permette di iscriversi o cancellarsi dalla newsletter" />
            <siteMapNode url="~/SiteMap/Comunicazioni/IscrizioniProssimaGara.aspx" title="Iscrizioni alla prossima gara" description="Permette di iscriversi alla prossima gara e vedere chi si e' gia' iscritto" />
            <siteMapNode url="~/SiteMap/Comunicazioni/ProssimeGare.aspx" title="Prossime Gare" description="Mostra l'elenco delle prossime gare" />
            <siteMapNode url="~/SiteMap/Comunicazioni/ProssimoAllenamento.aspx" title="Prossimo Allenamento" description="Mostra quanto il coach ha deciso per il prossimo allenamento" />
            <siteMapNode url="~/SiteMap/Comunicazioni/ElencoTotaleGare.aspx" title="Elenco Totale Gare" description="Mostra le gare per tutto l'anno" />
            <siteMapNode url="~/SiteMap/Comunicazioni/IscrizioneGrugliaschiamo.aspx" title="Iscrizioni alla Grugliaschiamo" description="Iscrizioni alla Grugliaschiamo" />
        </siteMapNode>

        <siteMapNode title="Report" url="~/SiteMap/Report/Default.aspx" description="Informazioni e testimonianze dalle gare">
            ....
        </siteMapNode>

        <siteMapNode title="Altro" url="~/SiteMap/Altro/Default.aspx" description="Informazioni e risorse aggiuntive">
            ...
        </siteMapNode>


        <siteMapNode title="Regolamento" url="~/SiteMap/Regolamento/Default.aspx" description="Regolamento">
            ....
        </siteMapNode>

</siteMapNode>

这是我将在下面复制的 style.css 文件中的名称、颜色等。

上面提供的所有信息可能都不正确,所以请在禁止这个问题之前告诉我哪里出了问题,我会重新表述为正确的。 谢谢

/*--------------------*
 *  Pagina totale     *
 *--------------------*/
body
{
    margin: 0;
    background-image: url("Resources/Pics/background.jpg");
    background-size:cover
    padding-bottom: 2em;
    background-color: #ADFEFF;
    color: #000000;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    border-top: 2px solid #B51032;
}
/*-------------*
 *  Header     *
 *-------------*/
#header
{
    border-top: 3px solid #B51032;
    border-bottom: 1px dotted #B51032;
    height: 10em;
    background-image: url("Resources/Pics/BannerDoratletica.png");
    background-size: cover
}
#header .title
{
    font: 190% Arial, Helvetica, Georgia, "Times New Roman", Times, serif;
    color: black;
    background-color: transparent;
    float: left;
    margin-right: 2em;
    margin-top: 0.3em;
    margin-left: .8em;
}
#header .breadcrumb
{
    color: black;
    background-color: transparent;
    float: right;
    margin-right: 2em;
    margin-top: 0.8em;
    font-weight:bold;
    font-style: normal;
    font-variant: normal;
    font-size: 90%;
    line-height: normal;
    font-family: Arial, Helvetica, Georgia, "Times New Roman", Times, serif;
    height: 75px;
    width: 306px;
    margin-left: 62px;
}
#header a:link, a:visited 
{
    color: #B51032;
}
#body {
        padding:10px;
        padding-bottom:60px;    /* Height of the footer */
      }
    #footer {
        position:absolute;
        bottom:0;
        width:100%;
        height:60px;            /* Height of the footer */
        background:#6cf;
    }
/*-------------*
 * Navigazione *
 *-------------*/
#navigation
{
    width: 200px;
    top: 11.45em;
    left: 1em;
    width: 13em;    
    position:absolute;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size:90%;
}
#navigation ul
{
    list-style: none;
    margin: 0;
    padding: 0;
}
#navigation li
{
    border-bottom: 1px solid #ED9F9F;
}
/*--Blocchi superiori--*/
#navigation li a 
{
    display: block;
    padding: 5px 5px 5px 0.5em;
    border-left: 12px solid #0000FF;
    border-right: 1px solid #0000FF;
    background-color: #9090FF;
    color: #FFFFFF;
    text-decoration: none;
}
#navigation li a:hover
{
    background-color: #0000FF;
    color: #FFFFFF;
}
#navigation ul ul
{
    margin-left: 12px;
}
#navigation ul ul li
{
    border-bottom: 1px solid #711515;
    margin:0;
    background-color: #ED9F9F;
    color: #711515;
}
/*-----Blocchi primari----*/
#navigation ul ul a:link, #navigation ul ul a:visited
{
    background-color: #C2D7FF;
    color: #0000FF;
}
#navigation ul ul a:hover
{
    background-color: #0000FF;
    color: #FFFFFF;
}
/* Main Content */
#content 
{
    margin-top:1em;
    margin-left: 16em;
    margin-right: 2em;
}
h1 {
    font: 150% Arial, Helvetica, Georgia, "Times New Roman", Times, serif;
}
#content p {
    font-size: 80%;
    line-height: 1.6em; 
}
#content ul {
    font-size: 80%;
    line-height: 1.6em; 
}

---编辑---添加---

根据建议我专注于一部分。那是 Site.Master 文件,我在其中发现

<asp:Repeater runat="server" ID="menu" DataSourceID="SiteMapDataSource1" EnableViewState="False">
    <ItemTemplate>
        <li>
            <asp:HyperLink x:name="AAA" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>

                    <asp:Repeater runat="server" DataSource='<%# ((SiteMapNode) Container.DataItem).ChildNodes %>'>
                        <HeaderTemplate>
                            <ul>
                        </HeaderTemplate>

                        <ItemTemplate>
                             <li>
                             <asp:HyperLink name="AAA" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink> <-------
                                    </li>
                         </ItemTemplate>

                     <FooterTemplate>
                 </ul>
              </FooterTemplate>
      </asp:Repeater>
  </li>

如果我可以在页面加载时访问名为 "AAA" 的超链接,我可以在等于字符串时更改其前景。不幸的是,名称 "AAA" 无法从那里访问...任何其他访问循环中中继器的方式都可以... 谢谢

应该不会太难。不要用名称引用它,而是添加一个 OnPrerender 事件。

 <asp:HyperLink  OnPreRender="Unnamed_PreRender" runat="server" NavigateUrl='<%# Eval("Url") %>'><%# Eval("Title") %></asp:HyperLink>

那么如果您可以这样做:

protected void Unnamed_PreRender(object sender, EventArgs e)
{
    string str = ((HyperLink)sender).NavigateUrl;

    if (str.Contains("XXX")
        ((HyperLink)sender).ForeColor = System.Drawing.Color.Red;
}

其中 XXX 是 url 名称的一部分。