如何使用Razor中定义的JS变量

时间:2016-11-27 14:26:31

标签: javascript asp.net-mvc razor

我有以下Razor代码:

               @{
                    var villages = (List<string>)  @ViewData["allVillages"];
                }
               @if (villages != null)
                {
                    <script type="text/javascript">
                        var villages = @villages;
                    </script>

                }

但是当我想使用变量&#34; village&#34;在JS我得到:

  

ReferenceError:没有定义村庄

我该怎么做?

1 个答案:

答案 0 :(得分:1)

将@villages改为@ Html.Raw(Json.Encode(villages));.忽略语法错误并运行应用程序。

 @{
    var villages = (List<string>)@ViewData["allVillages"];
  }
 @if (villages != null)
  {
    <script type="text/javascript">
    var villages =  @Html.Raw(Json.Encode(villages));
    </script>

  }

请检查。它对我有用。