вызов @Html.Action для JsonResult изменяет мой тип ответа в родительском шаблоне

] У меня есть следующий контроллер:

public class HelloController
{
    public ActionResult Index()
    {
        return View()
    }

    public ActionResult Hello()
    {
        return Json(new{ greeting = "hello, world!" }, JsonRequestBehavior.AllowGet);
    }
}

Затем внутри Index.cshtml:

...html stuffs
<script type="text/javascript">
    alert("@Html.Action("Hello")");
</script>

Я обнаружил, что при переходе по этому URL-адресу в моем браузере тип содержимого ответа — application/json; charset=utf-8, что заставляет браузер отображать html как строку, а не как... веб-страницу.

Как это лучше обойти?

11
задан DMac the Destroyer 11 May 2012 в 00:38
поделиться