嗨我试图返回一个视图是XML,这意味着内容类型将是“文本/ XML”,并且该视图正在使用ASP.NET MVC剃须刀。另一篇文章ASP.NET MVC and text/xml content type展示了如何用aspx视图来完成。我如何用剃刀完成同样的工作?如何用ASP.NET剃刀输出xml?
9
A
回答
32
我发现用剃刀视图这里出产的RSS提要的一个例子:
基本上,你必须设置Response.ContentType
到"text/xml"
,然后你可以只写你的XML就好像它是html一样。
您需要向下滚动看到实际的代码,所以我会在这里复制:如果你喜欢,你可以做,而不是从您的视图操作的内容类型变化
@{
var db = Database.OpenFile("Database.sdf");
var getRss = db.Query("SELECT TOP(5) * FROM Table");
Response.ContentType = "text/xml";
}
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Website name</title>
<link>website link</link>
<description>News for website</description>
<dc:language>en-gb</dc:language>
<dc:creator>email</dc:creator>
<dc:rights>Copyright 2010</dc:rights>
<admin:generatorAgent rdf:resource="http://www.styledna.net/" />
@foreach (var row in getRss) {
<item>
<title>@row.title</title>
<link>@row.link</link>
<description> some html desc for the item </description>
</item>
}
</channel>
</rss>
6
,如下所示:
public ActionResult MyAction() {
Response.ContentType = "text/xml";
return View();
}
+0
警告:由于某种原因将其设置为动作在一些行动上工作,但在我的情况下不在其他人上 – Titus 2016-02-03 17:05:34
+0
@Titus也许内容类型被覆盖。通过CSHTML使用上面定义的方法,或者通过您返回的ActionResult。例如ContentResult可以配置为设置内容类型。我认为可以设置和重写内容类型的顺序是Action方法,操作结果和CSHTML。虽然我认为最后两个可以交替取决于ActionResult的实现方式。 – 2016-02-03 20:57:28
相关问题
- 1. ASP.NET剃刀如何输出原始字符串紧邻可变
- 2. ASP.NET剃刀Html.TextArea
- 3. asp.net剃刀
- 4. 剃刀和函数调用输出
- 5. asp.net mvc3剃刀,javascript
- 6. ASP.NET MVC3,启用剃须刀
- 7. 如何剃刀
- 8. 如何剃刀
- 9. 如何剃刀
- 10. 如何编码 '/' 在ASP.NET MVC剃刀
- 11. ASP.NET剃刀如何更新ViewBag可变
- 12. 强制剃刀,总是输出HTML
- 13. 带有剃刀的ASP.NET MVC,自定义HtmlHelper只输出文本
- 14. 如何使用剃刀
- 15. asp.net剃刀冒号操作
- 16. ASP.NET MVC(剃须刀)部署
- 17. 在C#剃刀(ASP.NET MVC)
- 18. ASP.NET MVC(剃刀)jQuery中
- 19. ASP.NET MVC C#剃刀缩小
- 20. 置换在Asp.net MVC剃刀
- 21. ASP.NET MVC - 剃刀和JavaScript
- 22. ASP.NET MVC剃刀:三元
- 23. asp.net mvc剃须刀是没有对话框不在剃须刀
- 24. 剃刀视图从xml使用XSLT
- 25. 使用剃刀
- 26. 用剃刀
- 27. 用剃刀
- 28. 用剃刀
- 29. 用剃刀页
- 30. ASP.NET:通用列表中的剃刀
@CrazyDart:嘿,这是一个例子......问题是关于设置ContentType,而不是关于视图中做了什么。 OP要求使用'@Response.ContentType =“text/xml”%>“的”%@ Page Language =“C#”Inherits =“System.Web.Mvc.ViewPage”ContentType =“text/xml”%> XML“'。 – fretje 2011-05-09 23:17:43
林与我,我看了例子链接。我不喜欢复制粘贴垃圾代码。我将删除-1,但你需要拿出那些垃圾代码,所以有些noob不认为这是如何在MVC中完成的。 – CrazyDart 2011-05-09 23:22:28
@fretje,+1用于回答OP的问题并在Razor视图中定义XML。 – 2011-05-09 23:22:29