如何将JSON字符串从Controller操作传递给View并加载为JQuery函数的参数

时间:2014-01-07 14:43:39

标签: javascript jquery json asp.net-mvc-3

$(document).ready(function () {

        function mapInit(data) {
            var map;

            alert(data);

            map = new L.Map('map', { zoom: 8, layers: [OSM] });

            var arr = $.parseJSON(data);
            alert(arr);
        }

        mapInit('@Html.Raw(Json.Encode(Model))');

    });

在控制器操作中,它返回一个手动构造的json字符串,我需要将其传递给jQuery函数中的视图以呈现地图。

但是当字符串作为模型传递时,字符串的格式化将丢失。

1 个答案:

答案 0 :(得分:1)

指定视图以接受string作为模型,然后将其传递到View()结果中。 e.g。

@model String

插入视图顶部,然后:

return View(tt);

在行动中。

然后,在视图转储中,该字符串使JavaScript可以继续:

@* ... *@
mapInit('@Html.Raw(Model)')
@* ... *@

虽然您应该创建一个模型,然后在控制器中填充它,将其移交给视图,然后使用类似Newtonsoft的JSON库并将其输出到页面。