使用Razor页面返回XML?

如何使用Razor页面创建XML(特别是我正在尝试构建sitemap.xml)?

我已经阅读了MSDN Razor Pages简介,但是它仅显示了如何创建HTML页面。当我只使用基本XML(如在Razor生成动态XML中所示)时,出现了问题...

添加具有以下内容的新“剃刀页面”。

@page
<?xml version="1.0" encoding="UTF-8" ?>
@{
    Layout = null;
}
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
    @*Include your static urls*@
    <url>
        <loc>https://example.com/my-static-page</loc>
    </url>
    @*Dynamically include pages generated from your database*@
    @foreach(var article in articles)
    {
        <url>
            <loc>https://example.com/article/@article.Url</loc>
            <lastmod>@article.Modified.ToString("yyyy-MM-dd")</lastmod>
        </url>
    }
    @*You get the idea*@
</urlset>

之前的XML声明@{Layout=null;}是必不可少的!否则XML解析器将无法正常工作,而这一切都是白费。

奖励:要使/sitemap.xml路由正常工作,您需要添加此路由。

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services
            .AddRazorPagesOptions(options => 
            {
                options.Conventions.AddPageRoute("/Sitemap", "sitemap.xml");
            });
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

POST JSON 到 Razor 页面返回 400

ASP.NET Core 2.1 Razor页面返回模型页面

如何从ASPX页面返回XML

如何在 Razor 页面中使用 IIF?

使用实体框架 (CRUD) 添加 Razor 页面

使用Razor页面更新帖子标签

如何更改Razor页面中DisplayFor返回的文本?

Razor页面上的kendo UI异步更新返回404

从IHttpHandler返回Razor(cshtml)页面而不进行重定向

jQuery AJAX 请求返回 HTML 而不是 JSON 结果(Razor 页面)

ASP.Net Razor页面验证不返回值

ASP.NET Core 2.2 Razor 页面 - 对页面模型的 AJAX 调用不返回数据

无法使用jQuery在razor视图页面中创建分页

使用ASP.NET Core Razor页面实现排序

在独立页面中使用c#和razor

在Razor页面中使用@functions块的错误和警告

C#Razor页面使用属性动态创建Div

在ActionLink for ASP.NET MVC,Razor页面中使用图标

可以将ViewComponents与Razor页面一起使用吗?

使用 JavaScript/jQuery 从 Razor 页面获取对象数组

使用 Html.EditorFor() 编辑/创建的 Razor 页面

如何使用相同的 blazor(.razor) 页面进行 #{id} 部分导航?

使用 asp.net 身份删除 Razor 页面中的用户

服务器验证上的Razor页面返回而没有一些字段

在MVC3 / razor中的布局页面事件后返回相同的视图

Asp.net core razor 页面、身份、外部登录返回错误关联失败

返回View(model:MyModel); 在ASP.Net Core Razor页面中等效

Razor 页面,将所有复选框作为值列表返回

ASP.NET Core Razor页面-返回Page()后,复杂模型属性为null