добавление схемы в элемент управления SiteMapPath вызывает ошибку 404 - PullRequest
0 голосов
/ 11 сентября 2018

следующий код вызовет ошибку 404. удаляя код [itemtype = "https://schema.org/BreadcrumbList"],, тогда ошибки не возникает, но с помощью средства проверки крошки для проверки страницы она не распознается как крошка. Могу ли я узнать, в какой части я делаю это неправильно?

<asp:SiteMapPath ID="SiteMapPath1" itemtype="https://schema.org/BreadcrumbList" SkipLinkText="" runat="server" >
                    <NodeTemplate><a itemprop="item" href='<%#Eval("url") %>'><span itemprop="name"><%# Eval("title") %></span></a></NodeTemplate>
                </asp:SiteMapPath>

1 Ответ

0 голосов
/ 11 сентября 2018

asp:SiteMapPath само по себе не имеет свойства itemtype, поэтому ошибка (на самом деле 5xx не 404 ).Таким образом, код должен быть немного более сложным.Примерно так.

<nav itemscope itemtype="http://schema.org/BreadcrumbList"><%--wrapper--%>
    <asp:SiteMapPath ID="SiteMapPath1" runat="server" PathSeparator=" : ">
        <NodeTemplate>
            <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement"><%--wrapper for each breadcrumb--%>
                <meta itemprop="position" content="<%#Container.ItemIndex+1 %>" /> <%--required by Google --%>
                <a itemprop="item url" href='<%#Eval("url") %>'>
                   <span itemprop="name"><%# Eval("title") %></span>
                </a>
            </span>
        </NodeTemplate>
    </asp:SiteMapPath>
</nav>

И это сгенерированный HTML

<nav itemscope itemtype="http://schema.org/BreadcrumbList">
    <span id="SiteMapPath1"><a href="#SiteMapPath1_SkipLink"><img alt="Skip Navigation Links" src="/WebResource.axd?d=Ybg6Za1EIYGIkin6VPiwIFL99ITKyu6RhGnxJcLOO8DP1KA0-cdYa4ltoyl-vbOlqsJF4S8oq8kKVCD1XukqME04tF9L2ZSF8XWKW9sT_mc1&amp;t=636668507379463780" width="0" height="0" style="border-width:0px;" /></a><span>
            <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
                <meta itemprop="position" content="1" />
                <a itemprop="item url" href='/'><span itemprop="name">home</span></a></span>
        </span><span> : </span><span>
            <span itemscope itemtype="http://schema.org/ListItem" itemprop="itemListElement">
                <meta itemprop="position" content="2" />
                <a itemprop="item url" href='my-page.aspx'><span itemprop="name">My Page</span></a></span>
        </span><a id="SiteMapPath1_SkipLink"></a></span>
</nav>

, который прошел Тест структурированных данных Google

...