2017-08-24 72 views
-1

我有一個屬性如何通過列表<string> model屬性來查看javascript數組變量?

public List<string> Answers { get; set; } 

我如何通過列表的值到一個數組變量視圖模型?

目前在我的視圖中有這個javascript代碼,但它在foreach循環內的answers數組上有錯誤。

名稱答案在當前上下文中不存在。

<script type="text/javascript"> 
    var answers = []; 
    @foreach(string answer in Model.Answers) 
    { 
     var ans = @answer; 
     answers.push(ans); 
    } 
</script> 
+2

因爲'@ foreach'是剃刀代碼(在發送給瀏覽器之前在服務器上解析)和'var answers'是一個javascript變量 - 它甚至不存在。使用'var answers = Html.Raw(Json.Encode(Model.Answers))' –

+0

這有效StephenMuecke只需在html助手之前添加'@'@var answers = Html.Raw(Json.Encode(Model.Answers) )「 –

+0

你應該添加這個答案。我很樂意選擇它。 –

回答

0

使用Json.net來序列化Json。虔誠地使用它!然後考慮將json傳遞給客戶端的最簡潔的方法。通常這是一個單獨的API調用。我們將web api改進了我們的服務器渲染應用程序,所以我們甚至不需要擔心調用Json.net。我們只返回C#對象並且web api將它們轉換。 (不是新技術!)你真的不應該在剃刀模板中這樣做。

+0

OP不詢問如何將_json發送給客戶端_ –

+0

不能自救。 – bbsimonbb

相關問題