【问题标题】:Converting an ArrayList to javascript table将 ArrayList 转换为 javascript 表
【发布时间】:2013-10-29 22:32:58
【问题描述】:

我有一个 asp.net mvc4 应用程序剃须刀,我想在其中添加自动完成功能,我添加了一个带有不同值的示例表 availableTags,它可以工作,但是当我尝试使用 ArrayList到一个 javascript 表:

@{
    ArrayList elements = new ArrayList();
    elements=(ArrayList)Session["elements"];

}
     <script>
            $(function () {
                var champ = "@elements";
                var availableTags = [
                  "ActionScript",
                  "AppleScript",
                  "Asp",
                  "BASIC",
                  "C",
                  "C++",
                  "Clojure",
                  "COBOL",
                  "ColdFusion",
                  "Erlang",
                  "Fortran",
                  "Groovy",
                  "Haskell",
                  "Java",
                  "JavaScript",
                  "Lisp",
                  "Perl",
                  "PHP",
                  "Python",
                  "Ruby",
                  "Scala",
                  "Scheme"
                ];
              $("#tags").autocomplete({
                    source: champ
                });
            });
      </script> 

失败了!!! 这个问题的原因是什么?我该如何解决?

【问题讨论】:

    标签: javascript jquery asp.net asp.net-mvc-4 razor


    【解决方案1】:

    您不能只将 javascript 变量设置为 C# 变量。 Razor 处理您的 CSHTML 并输出 html。 javascript 在客户端上执行。您生成的 HTML 是什么样的?我认为您需要将其转换为 JSON,请尝试以下操作:

    @{
        ArrayList elements = new ArrayList();
        elements=(ArrayList)Session["elements"];
        var ser = new System.Web.Script.Serialization.JavaScriptSerializer();
        var json = ser.Serialize(elements);
        var html = new HtmlString(json);
    }
    <script>
        $(function () {
            var champ = @html;
    

    【讨论】:

      猜你喜欢
      • 2013-04-14
      • 1970-01-01
      • 2013-05-14
      • 1970-01-01
      • 2014-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-07
      相关资源
      最近更新 更多