asp.net razor 和 jQuery 自动完成插件

Posted

技术标签:

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

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

$("#Supplier").autocomplete(

                source: availableTags
            );

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

@ViewBag.VendorsArray

我可以这样使用它:

var availableTags = @ViewBag.VendorsArray;

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

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

然后,它的工作。

【问题讨论】:

【参考方案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数组就像一个没有括号的逗号分隔字符串,因此这种技术是可行的。

以上是关于asp.net razor 和 jQuery 自动完成插件的主要内容,如果未能解决你的问题,请参考以下文章

如何将 JQuery Datatable.net 与 ASP.Net 4 Razor 和 Twitter Bootstrap 一起使用

ASP.net MVC Core Razor 页面和 Ajax JQuery

ASP.net MVC 3 Razor - jQuery Intellisense

用于 jQuery Mobile 控件的 Asp.Net MVC Razor 标记

如何使用 jquery 或 ajax 在 c#/asp.net 中为 MVC 项目更新 razor 部分视图

在 asp.net mvc razor 页面中验证 jquery 中的特定表单字段