【问题标题】:ASP.NET RSS feed error in link tag in item node? Issue with Razor in Umbraco RSS Feed项目节点中链接标记中的 ASP.NET RSS 提要错误? Umbraco RSS Feed 中的 Razor 问题
【发布时间】:2012-09-27 11:56:17
【问题描述】:

在使用剃刀在 umbraco 中针对博客创建 rss 提要时遇到问题。下面的代码有效,但只要我尝试将任何值添加到项目节点下的链接标记中,我就会收到一个 xml 错误,下面是代码。

<rss version="2.0">
    <channel>
        <title>@landing.uBlogsyRssTitle</title>
        <description>@landing.uBlogsyRssDescription</description>
        <copyright>@landing.uBlogsyRssCopyright</copyright>
        @*<image>@landing.uBlogsyRssImage</image>*@
        <link>@Request.Url.Host@landing.Url</link>
        <lastBuildDate>@lastPubDate.FormatDateTime("ddd, dd MMMM yyyy HH:mm:ss")</lastBuildDate>
        <pubDate>@lastPubDate.FormatDateTime("ddd, dd MMMM yyyy HH:mm:ss")</pubDate>
        @foreach (var p in posts)
        {
        <item>
            <title>@p.GetProperty("uBlogsyContentTitle").Value</title>            
            <link></link>
            <author>@p.GetProperty("uBlogsyPostAuthor").Value</author>
            <description>@p.GetProperty("uBlogsyContentBody").Value.StripHtml().Trim()</description>            
            <guid>@p.Url</guid>
            <pubDate>@p.GetProperty("uBlogsyPostDate").Value.FormatDateTime("ddd, dd MMMM yyyy HH:mm:ss")</pubDate>
        </item>
        }
</channel>
</rss>

【问题讨论】:

    标签: asp.net xml razor rss umbraco


    【解决方案1】:

    这是我对另一个解决了相同问题的帖子的回答:

    由于 MVC4 Razor 验证您尝试编写的内容是有效的 HTML。如果你不这样做,Razor 就会失败。

    您的代码试图编写不正确的 HTML:

    如果您查看documentation of link tag in w3schools,您可以阅读以不同方式表达的相同内容:

    • “该元素是一个空元素,它只包含属性。”
    • “在 HTML 中,标签没有结束标签。”

    这意味着link是一个单例标签,所以你必须把这个标签写成一个自闭合标签,像这样:

    &lt;link atrib1='value1' attrib2='value2' /&gt;

    所以你不能做你想做的事:使用带有内容的开始和结束标签。

    这就是 Razor 无法生成此 &lt;xml&gt; 文档的原因。

    但是有一种方法可以欺骗 Razor:不要让它知道你正在编写标签,就像这样:

    @Html.Raw("&lt;link&gt;")--your link's content--@Html.Raw("&lt;/link&gt;")

    请记住,Razor 用于编写 HTML,因此使用它编写 XML 可能会有些棘手。

    【讨论】:

    • 太棒了!谢谢你
    猜你喜欢
    • 2017-11-18
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多