【问题标题】:asp.net razor and jQuery autocomplete pluginasp.net razor 和 jQuery 自动完成插件
【发布时间】:2017-09-09 22:09:07
【问题描述】:

嘿,我想自动完成这个 html 文本输入:

$("#Supplier").autocomplete({

                source: availableTags
            });

并且我有从控制器到视图的字符串数组:

@ViewBag.VendorsArray

我可以这样使用它:

var availableTags = @ViewBag.VendorsArray;

并且在自动完成插件的“源”选项中使用? 它对我不起作用。 就像我这样手动排列:

var availableTags = [
      "ActionScript",
      "AppleScript",
      "Asp",
      "BASIC"
                  ];

然后,它的工作。

【问题讨论】:

    标签: jquery asp.net razor autocomplete


    【解决方案1】:

    首先将逗号分隔的字符串传递给您的 ViewBag 对象,然后设置为 javascript 变量,然后将变量转换为 javascript 数组。

    请举例说明:

    @{ViewBag.VendorsArray = "ActionScript,AppleScript,Asp,BASIC";}

    <script>
         var list = "@ViewBag.VendorsArray";
          var availableTags = list.split(',');
            $("#Supplier").autocomplete({
                source: availableTags
            }); 
    </script>
    

    【讨论】:

    • 我不需要逗号分隔的字符串来传递自动完成插件,我需要字符串数组。
    • 如果您无法将字符串数组转换为 c# 字符串,则无法将其发送到 savascript。我用了两年多的时间。
    • 基本上你不能将 C# 对象发送到 javascript。但是在 .cshtml 中,当页面呈现时,它会以字符串的形式发送到 HTTP 响应流。所以javascript数组就像一个没有括号的逗号分隔字符串,因此这种技术是可行的。
    猜你喜欢
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2011-02-13
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 2011-07-02
    相关资源
    最近更新 更多