Подтвердить что ты не робот

Как изменить возвращаемый ContentType в ASP.NET MVC-контроллере (ActionResult)

У меня есть ASP.NET MVC-контроллер с именем dictionary с методом ControlsLangJsFile. Метод возвращает представление управления пользователями (ASCX), которое содержит переменные JavaScript.

Когда я вызываю метод, он возвращает переменные с разборными строками, но Тип содержимого - html/text. Это должно быть: application/x-javascript

public ActionResult ControlsLangJsFile()
    {
        return View("~/Views/Dictionary/ControlsLangJsFile.ascx",);
    }

Как мне это достичь?

4b9b3361

Ответ 1

Пользователи не принимают ContentType = "text/xml"

Решение:

public ActionResult ControlsLangJsFile()
    {
        Response.ContentType = "text/javascript";
        return View("~/Views/Dictionary/ControlsLangJsFile.ascx");
    }

Ответ 2

У меня был такой же вопрос, создавая в нем вид бритвы с 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...

Ответ 4

Try:

return Json(new
{
      uCode = SysContext.CurrentUserCode,
      uPwd = SysContext.CurrentUserPwd,
      rMe = SysContext.RememberMe
}, "application/json", JsonRequestBehavior.AllowGet);