将模型分配给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);
- 如何从jqgrid数据填充文档标题
- twitter打字后自动完成asp.net mvc jquery ajax的搜索操作
- 如何重定向到$ .AJAX完整的视图 – asp.net mvc 3
- 使用JQuery和RadioButtons隐藏/显示表行
- 如何将JQuery自动完成设置为POST而不是GET?
- 使用editUrl的JqGrid InlineEdit:’clientArray’无法保存
- asp.net mvc:从控制器返回刷新选择列表的正确方法是什么?
- 如何使用不引人注目的jQueryvalidation手动重新validation/触发validation?
- 如何使用JQuery将文件上传到MVC VNext webserver?