Генерировать необработанный массив json для представления в ASP.NET MVC

Я использую ASP.NET MVC и пытаюсь создать фрагмент javascript как часть просмотр рендеринга. У меня есть модель, которая предоставляет массив простых типов, и я хотел бы сгенерировать эквивалентный массив javascript / json в представлении, чтобы я мог действовать на нем с помощью jQuery. Итак, учитывая следующую модель:

public class Info {
   public string Name {get;set;}
   public int ID {get; set;}
}

public class InfoModel{
   public Info[] InfoList {get;set;}
}

... Я прошел часть пути, но, похоже, борется с кодированием. Этот код в представлении:

<script>
var list = <%: HtmlExtension.ToJson(Model.InfoList) %>;
</script>

(где ToJson инкапсулирует преобразование в строку с помощью JavaScriptSerializer) выводит некоторые ошибки кодирования:

var info = [{&quot;Name&quot;:&quot;Low End&quot;,&quot;ID&quot;:1}];

.. это не то, что я искал. Я мог бы сделать это:

var info = <% Response.Write(HtmlExtension.ToJson(Model.InfoList)); %>;

, который работает, но не выглядит таким блестящим. Должен ли я явно игнорировать кодировку, как показано (вывод нормальный, а не сгенерированный пользователем, поэтому это может не быть проблемой) или мне не хватает чего-то еще, что делает его менее классическим asp?

5
задан soren.enemaerke 3 November 2010 в 12:05
поделиться