gpt4 book ai didi

asp.net - 我可以创建一个在 asp.net mvc 3 中呈现 Rss 的 Razor View 吗?

转载 作者:行者123 更新时间:2023-12-04 05:12:04 24 4
gpt4 key购买 nike

我知道要生成 rss,我可以使用诸如 SyndicationFeed 和 Rss20FeedFormatter 之类的内置类。我也知道它可以通过自定义类和 aspx View 来完成。

但是如果我想创建自定义提要对象和自定义 View ,我可以使用 razor 来做到这一点吗?

这是我的观点:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<h2>@Model.Title</h2>
<div><b>Description:</b> @Model.Description</div>
<div><b>Language:</b> @Model.Language</div>
<a href="@Model.Url" class="averageLink">Subscribe to this Feed</a>

@foreach (var item in Model.Items)
{
<h3>
Title: @item.Title
</h3>
<div>
<img width="75" height="75" src="@Url.Action("GetImage", "Store", new { productId = item.ProductId })"/>
</div>
<div><b>Description:</b> @item.Description</div>
<div><b>Creator:</b> @item.Creator</div>
<div><b>Date published</b> @item.Published</div>
<div>
<a href="@item.Url" class="averageLink">place order on Ozon</a>
</div>
@Html.ActionLink("go to item", "ItemInformation", "Store", new {itemId = item.ItemId}, new {@class = "averageLink"})
}
</channel>
</rss>

其他问题:

1)我不知道究竟如何实现“订阅”链接:为@Model.Url 分配什么值?

2) 它生成 html, mabby 而我需要将我的提要对象序列化为 xml 文档并使用自定义 XmlResult 返回它:ActionResult?

编辑 1:Mabby 我不知何故可以一起使用内置类和自定义提要模型?

编辑 2:我不想使用现有类的原因是因为我需要使用 Html.ActionLink() 和 Url.Action() 助手。如果我将提要对象序列化为 xml,我将如何使用这些辅助方法?

提前感谢您的帮助!

最佳答案

您的 View 代码正在生成 html,而不是 rss 提要所需的 xml(您包括像 divh3 这样的元素,它们是 html 的一部分)。

要生成输出 RSS 的 View , View 的布局应该复制 RSS standard .

例如:

@model MyProject.Models.RssModel
@{ Layout = null }

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>@model.FeedTitle</title>
<description>@model.FeedDescription</description>
<link>@model.FeedLink</link>
<lastBuildDate>@model.LastBuildDate</lastBuildDate>
<pubDate>@model.PubDate</pubDate>
<ttl>@model.Ttl</ttl>
@foreach (var item in Model.Items)
{
<item>
<title>@item.Title</title>
<description>@item.Description</description>
<link>@item.Url</link>
<guid>@item.Id</guid>
<pubDate>@item.PublicationDate</pubDate>
</item>
}
</channel>
</rss>

但是,您可能需要考虑一种不同的方法:从将直接生成 RSS 的 Controller 操作返回结果。您可以在 this blog post 中看到这种方法的示例。或在 this answer 中描述.

关于asp.net - 我可以创建一个在 asp.net mvc 3 中呈现 Rss 的 Razor View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14795883/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com