Невозможно использовать тег <link>в Razor View - PullRequest
0 голосов
/ 20 февраля 2020

Если я использую следующий код, представление отображается нормально. Но если я изменю URL на нужную RSS spe c. представление не будет отображаться и выдает ошибку о том, что тег недействителен, поэтому ошибка возникает в теге ссылки. Независимо от того, что я пробую, тег ссылки внутри бритвы foreach не будет компилироваться правильно.

@inherits Umbraco.Web.Mvc.UmbracoTemplatePage<ContentModels.RSsfeed>
@using ContentModels = Umbraco.Web.PublishedContentModels;
@{ 
    Layout = null;
    Response.ContentType = "text/xml";
    var rootNode = Umbraco.TypedContentAtRoot().First();
    var newsNodes = umbraco.uQuery.GetNodesByType("newsDetail");
}<?xml version="1.0"?>
<!-- News Aritcles -->
<rss version="2.0" xmlns:newsArticles="https://xxx.xxxxxxx.xxx/news">
    <channel>
        <title>News Aritcles</title>
        <link>https://xxx.xxxxxxx.xxx/news</link>
        <description>News Aritcles</description>
        <language>en-us</language>
        <ttl>1440</ttl>
    @foreach(var newsNode in newsNodes){
        var newsContent = UmbracoContext.Current.ContentCache.GetById(newsNode.Id);
        string nnDescription = newsContent.GetPropertyValue("description").ToString();
        string nnPublishDate = newsContent.GetPropertyValue("publishDate").ToString();
        <item>
            <title>@newsNode.Name</title>
            <url>https://xxx.xxxxxxx.xxx@{@newsNode.Url}</url>
            <description>@nnDescription</description>
            <pubDate>@nnPublishDate</pubDate>
            <guid>https://xxx.xxxxxxx.xxx@{@newsNode.Url}</guid>
        </item>
    }
    </channel>
</rss>

1 Ответ

0 голосов
/ 20 февраля 2020

<link/> является пустым элементом, поэтому имеет только начальный тег и без конечного тега - см. W3 C HTML Справочник по языку

Вы можете вывести тег как это

@("<link>" + newsNode.Url + "</link>")

Надеюсь, это поможет

...