将模型分配给Razor中的Javascript变量

我有一个强类型视图绑定到一个对象,该对象包含一些对象的Collection(列表)。 我知道Razor在生成页面时会在服务器端执行,而Javascript变量在页面显示之后才会被实例化…但是它可能以某种方式转换模型(视图绑定到或者它的任何字段到Razor中的JSON而不需要使用AJAX调用来获取之后的数据?

你知道,像……

var myJavascriptVariable = @Model.MyCollection 

其中@Model.MyCollection是一些对象的列表。

谢谢

要获取json数据,您可以使用以下构造:

 var jsData = @Html.Raw(Json.Encode(Model.MyCollection)); 

试试这个,你可以使用不引人注目的javascript:

HTML(Razor):

  

JS(你可以在外部文件中使用它):

 var jsonString = $('#data').html(), jsonValue = (new Function( "return( " + jsonString + " );" ))(); 

HTML:

  

JS

 var jsonString = $('#data').html(), jsonValue = (new Function( "return( " + jsonString + " );" ))(); $('#result').html(jsonValue.name);