2

就在我的结束之前,<body>我正在尝试

<script type="text/javascript">
    @{ Html.RenderAction("RenderData4JS", "Helper"); }
</script>

返回 Json(Data4JS) 。基本上它只是输出 Json,所以我可以用 jQuery 访问它。

当我这样做时,整个网页,然后显示 HTML 源代码(必须更改整个网站的内容类型)。

我该如何解决这个问题,或者有其他方法吗?(我不想 AJAX)

4

2 回答 2

1

好的,我想出了怎么做,(足够优雅)

//在你的 ActionResult 动作中

return Content(GlobalHelper.ObjectToJson("GeneralData", Data4JS.Get()));

//在一些实用程序类中:

public static string ObjectToJson(string objectName, object o)
        {
            System.Web.Script.Serialization.JavaScriptSerializer jsonSerializer = new System.Web.Script.Serialization.JavaScriptSerializer();
            return "{\"Data4JS\":" + jsonSerializer.Serialize(o) + "}";
        }
于 2012-08-13T07:29:23.613 回答
0

您可以将该操作的结果放入某个对象(“可能是一个字符串”)中,并将其与您用作该视图的模型的对象一起返回。在您的脚本部分中,您可以传入该变量。

<script type="text/javascript">
var x =  @Model.test
...Do whatever you need with the test string
</script>

但是我不推荐这个,我认为你最好用 JQuery 进行 ajax 调用

于 2012-08-13T07:34:51.927 回答