如何将List <string>分配给JavaScript数组或可枚举对象

Emi*_*nem 12 javascript c# viewbag asp.net-mvc-3

我有以下内容:

ViewBag.SomeEnumerable = new List<string>() { "string1", "string2" };
Run Code Online (Sandbox Code Playgroud)

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

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

Dar*_*rov 30

<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>
Run Code Online (Sandbox Code Playgroud)

将呈现为:

<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>
Run Code Online (Sandbox Code Playgroud)

  • @IshaanPuniani,你为什么甚至相信VS Intellisense?这是错误的.看看渲染的标记,看看它是否正确,尽管VS告诉你这是错误的. (2认同)