0
Я использовал следующие в моей MVC3 (ASPX), чтобы сформировать массив из ViewData, который содержит список:JavaScript массив из списка ViewData - Бритвы
<script runat="server">
void RenderJavascriptHashArray (string listName, string hashName)
{
IEnumerable<KeyValuePair<int, string>> pairs = this.ViewData[listName] as IEnumerable<KeyValuePair<int, string>>;
Response.Write("var " + hashName + " = new Array();\n");
foreach (KeyValuePair<int, string> pair in pairs)
{
Response.Write(hashName + "[" + pair.Key.ToString() + "] = \"" + pair.Value + "\";\n");
}
}
</script>
<script>
<% this.RenderJavascriptHashArray("InfoURLs", "InfoURLs"); %>
</script>
В MVC5 Razor массив отображается на экране, потому что of Response.Write, есть альтернативный подход! По достоинству оценят ваши предложения.
спасибо. Я получаю сообщение об ошибке «Не удается разрешить Raw (Void) – hncl
Извините, см. Обновление –
Спасибо. Использование Html.Raw печатает массив на экране. При отладке я могу увидеть массив. Однако, если попытаться получить к нему доступ из другой функции JavaScript, например alert (InfoURls [1]), я получаю InfoURLs не определен! – hncl