首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ASP.NET MVC控制器(ActionResult)中更改返回的ContentType

如何在ASP.NET MVC控制器(ActionResult)中更改返回的ContentType
EN

Stack Overflow用户
提问于 2010-12-14 20:52:53
回答 4查看 37.9K关注 0票数 23

我有一个带有ControlsLangJsFile方法的名为dictionary的ASP.NET MVC控制器。方法返回包含JavaScript变量的用户控件(ASCX)的视图。

当我调用该方法时,它返回包含已解析字符串的变量,但Content Type为html/text。应该是:application/x-javascript

代码语言:javascript
复制
public ActionResult ControlsLangJsFile()
    {
        return View("~/Views/Dictionary/ControlsLangJsFile.ascx",);
    }

我该如何实现这一点?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-14 21:26:27

用户控件不接受文本“ContentType=/xml”

解决方案:

代码语言:javascript
复制
public ActionResult ControlsLangJsFile()
    {
        Response.ContentType = "text/javascript";
        return View("~/Views/Dictionary/ControlsLangJsFile.ascx");
    }
票数 42
EN

Stack Overflow用户

发布于 2013-04-10 23:40:42

在构建包含JS的剃须刀视图时,我遇到了同样的问题,并尝试使用@jmav的解决方案:

代码语言:javascript
复制
public ActionResult Paths()
{
    Response.ContentType = "text/javascript"; //this has no effect
    return View();
}

当您返回一个View()时,这不起作用。似乎视图呈现本身设置了内容类型,而不管在控制器方法中分配了什么。

相反,应该在视图代码本身中进行赋值:

代码语言:javascript
复制
// this lives in viewname.cshtml/vbhtml
@{
    this.Response.ContentType = "text/javascript";
}
// script stuff...
票数 20
EN

Stack Overflow用户

发布于 2010-12-14 20:56:11

如下所示,只需相应地更改内容类型:

ASP.NET MVC and text/xml content type

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4439355

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档