在ASP.NET MVC中创建自动完成错误

马库斯

我正在尝试使用jquery自动完成功能在ASP.NET MVC中创建自动完成功能文本框。

这是我的Index.cshtml:

<div class="autocomplete">
    @Html.TextBox("item", null, new { id = "autocomplete-textbox", @class = "form-control" });
    <input type="submit" value="Submit" id="autocomplete-button"/>
</div>

<script>
    $(function() {
        $('#autocomplete-textbox').autocomplete({
            source: '@Url.Action("AutoComplete")',
            minlength: 1
        });
    });
</script>

这是我的家庭控制器方法:

public JsonResult AutoComplete(string item)
    {

        IEnumerable<string> itemsList = new[] { "Ana", "are", "mere", "pere", "papaia", "Aaa", "Ab", "An" };
        IEnumerable<string> filteredResults = null;

        if (string.IsNullOrEmpty(item))
        {
            filteredResults = itemsList;
        }
        else
        {
            filteredResults = itemsList.Where(s => s.IndexOf(item, StringComparison.InvariantCultureIgnoreCase) >= 0);
        }

        return Json(filteredResults, JsonRequestBehavior.AllowGet);
    }

我的问题是JsonResult AutoComplete中的参数项始终为null,因此我总是以JSON响应的形式获取整个列表。我能做些什么 ?

谢谢,马库斯

y州

默认情况下,jQuery自动完成插件将发送带有查询字符串参数term而不是item的输入值如果打开浏览器dev tools-> network选项卡,则可以看到此信息)。

因此,将您的服务器操作方法参数名称更改为 term

public JsonResult AutoComplete(string term)
{
  // use term for your checkings
  // to do : Return something    
}

另外,我注意到您的代码中还有另一个问题。如果术语变量不为空,则需要将过滤后的结果(Where方法调用的结果)设置为filteredResults变量,因为它是您要返回的结果。

if (string.IsNullOrEmpty(term))
{
    filteredResults = itemsList;
}
else
{
    filteredResults = itemsList
             .Where(s => s.IndexOf(term, StringComparison.InvariantCultureIgnoreCase) >= 0);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Asp.net MVC中的“自动完成”文本框

来自分类Dev

如何在asp.net MVC中以Ajax格式关闭自动完成功能

来自分类Dev

ASP.NET MVC 4中的jQuery UI自动完成功能不起作用

来自分类Dev

ASP.Net MVC-停止自动完成密码

来自分类Dev

jQuery的UI自动完成asp.net MVC无法运行

来自分类Dev

asp.net mvc 4 bootstrap jquery combobox自动完成

来自分类Dev

使用JSON自动完成ASP.NET MVC

来自分类Dev

ASP.NET MVC 5的自动完成问题

来自分类Dev

ASP.NET MVC 5 DropDownListFor自动完成

来自分类Dev

想要在 ASP.NET MVC 实体框架应用程序中使用存储过程创建自动完成搜索

来自分类Dev

在ASP.NET MVC中创建SiteMap

来自分类Dev

ASP .Net MVC中的错误处理

来自分类Dev

asp.net mvc 中的 UnitOfWork 错误

来自分类Dev

在ASP.NET MVC中返回404时创建自定义错误

来自分类Dev

ASP.NET MVC 中的数据表自动刷新

来自分类Dev

jQuery自动完成功能不适用于ASP.NET MVC 5

来自分类Dev

无法自动登录asp.net MVC

来自分类Dev

ASP.NET MVC-自动注销

来自分类Dev

ASP.NET MVC-自动注销

来自分类Dev

在ASP.NET MVC 5 monodevelop中创建区域

来自分类Dev

如何从ASP.NET MVC中的枚举创建下拉列表?

来自分类Dev

如何在ASP.NET MVC中创建Webhook?

来自分类Dev

如何从ASP.NET MVC 5中的模型创建表单?

来自分类Dev

在ASP.NET MVC 6中创建API代理

来自分类Dev

在ASP.NET MVC 5中创建商店

来自分类Dev

在ASP.NET MVC中创建电子邮件模板

来自分类Dev

在ASP.NET MVC 5中创建管理页面

来自分类Dev

如何在asp.net MVC中创建Ajax链接?

来自分类Dev

在ASP.NET MVC4中动态创建控件