簡體   English   中英

將模型分配給Razor中的Javascript變量

[英]Assigning the Model to a Javascript variable in Razor

我有一個強類型視圖綁定到一個對象,該對象包含一些對象的Collection(列表)。 我知道Razor在生成頁面時會在服務器端執行,而Javascript變量在頁面顯示之后才會被實例化...但是它可能以某種方式轉換模型(視圖綁定到或者它的任何字段到Razor中的JSON而不訴諸AJAX調用來獲取該數據?

你知道,像......

var myJavascriptVariable = @Model.MyCollection

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

謝謝

要獲取json數據,您可以使用以下構造:

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

試試這個,你可以使用不引人注目的javascript:

HTML(Razor):

<script id="data" type="text/data-template">
@Html.Raw(Json.Encode(Model.MyCollection))
</script>

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

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

HTML:

<script id="data" type="text/data-template">
    { 'name': 'Pedro', 'Age': 33}
</script>
<div id="result"></div>

JS

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

$('#result').html(jsonValue.name);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM