我使用方法ControlsLangJsFile将ASP.NET MVC控制器命名为字典。 方法返回包含JavaScript变量的用户控件(ASCX)视图。
当我调用方法时,它返回带有解析字符串的变量,但内容类型是html / text。它应该是: application / x-javascript
public ActionResult ControlsLangJsFile()
{
return View("~/Views/Dictionary/ControlsLangJsFile.ascx",);
}
我如何实现这一目标?
答案 0 :(得分:32)
用户控件不接受ContentType =“text / xml”
解决方案:
public ActionResult ControlsLangJsFile()
{
Response.ContentType = "text/javascript";
return View("~/Views/Dictionary/ControlsLangJsFile.ascx");
}
答案 1 :(得分:15)
在使用JS构建剃刀视图并试图使用@jmav的解决方案时,我遇到了同样的问题:
public ActionResult Paths()
{
Response.ContentType = "text/javascript"; //this has no effect
return View();
}
当您返回View()时,这不起作用。看起来,尽管在控制器方法中分配了内容类型,但视图呈现仍会设置内容类型。
相反,请在视图代码中进行分配:
// this lives in viewname.cshtml/vbhtml
@{
this.Response.ContentType = "text/javascript";
}
// script stuff...
答案 2 :(得分:3)
像这样,只需相应更改内容类型:
答案 3 :(得分:1)
尝试:
return Json(new
{
uCode = SysContext.CurrentUserCode,
uPwd = SysContext.CurrentUserPwd,
rMe = SysContext.RememberMe
}, "application/json", JsonRequestBehavior.AllowGet);