Вам нужно будет сериализовать вашу коллекцию, а затем вывести это сериализованное значение как «Raw» (иначе механизм бритвы выйдет из вашего JSON, и вам это не нужно)
@using Newtonsoft.Json;
@{
var myList = JsonConvert.SerializeObject(ViewBag.MyColection);
}
<input id="myListHidden" type="hidden" data-my-list="@Html.Raw(myList)" />
В этомНапример, я использую сериализатор Newtonsoft.Вы можете использовать его, установив пакет NuGet.
Выше будет сгенерировано что-то вроде этого:
<input id="myListHidden" type="text" data-my-list="[{"Id":1,"Name":"Bob","Active":true}]" />
Затем вы можете использовать значение по своему желанию
РЕДАКТИРОВАТЬ:
Обратите внимание, что если вы не используете @Html.Raw()
двигатель бритвы выдаст это:
<input id="myListHidden" type="text" data-my-list="[{"Id":1,"Name":"Bob","Active":true}]" />