【问题标题】:How do I send assign a List<string> to a JavaScript array or enumerable object如何将 List<string> 分配给 JavaScript 数组或可枚举对象
【发布时间】:2012-09-05 06:30:12
【问题描述】:

我有以下:

ViewBag.SomeEnumerable = new List<string>() { "string1", "string2" };

现在如何在 JavaScript 端将 ViewBag.SomeEnumerable 分配给 array 或某种形式的可枚举对象?例如:

function SomeFunction()
{
  var array = @ViewBag.SomeEnumerable;
  for(var eachItem in array)
  {
    alert(eachItem); // should display "string1" then string2"
  }
}

【问题讨论】:

    标签: c# javascript asp.net-mvc-3 viewbag


    【解决方案1】:
    <script type="text/javascript">
    function SomeFunction() {
        var array = @Html.Raw(Json.Encode(ViewBag.SomeEnumerable));
        for(var i = 0; i < array.length; i++) {
            alert(array[i]); // should display "string1" then string2"
        }
    }
    </script>
    

    将呈现为:

    <script type="text/javascript">
    function SomeFunction() {
        var array = ["string1","string2"];
        for(var i = 0; i < array.length; i++) {
            alert(array[i]); // should display "string1" then string2"
        }
    }
    </script>
    

    【讨论】:

    • 当我声明 var array = @Html.Raw(Json.Encode(ViewBag.SomeEnumerable)); 时,VS 给出了syntax error at ;但是 o/p 在浏览器中呈现的 html 中是正确的
    • @IshaanPuniani,你为什么还要信任 VS Intellisense?这是错误的。尽管 VS 告诉您它是错误的,但查看呈现的标记是否正确。
    猜你喜欢
    • 1970-01-01
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2021-10-08
    相关资源
    最近更新 更多