如何在MVC3中键入时过滤占用

时间:2011-10-11 09:51:29

标签: asp.net-mvc-3 filter

我有一个包含在我们的数据库中的2500个职业的列表。在我们的网站上,我们要求您输入您的职业,我希望在他们输入时过滤结果;喜欢Play.com的搜索。有没有办法在MVC3中执行此操作?

感谢任何帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用自动填充javascript执行此操作。

例如: http://www.pnpguidance.net/post/jQueryAutoCompleteASPNETMVCFramework.aspx

您可以使用jQuery Ajax获取数据。

答案 1 :(得分:0)

我会创建一个返回JSON的动作方法:

        [HttpGet()]
        public JsonResult Occupations(String searchCriteria)
        {
            String[] occupations = new String[] { "Lawyer", "Carpenter" };
            return Json(occupations.Where(s => s.Contains(searchCriteria))
                                   .ToList(), JsonRequestBehavior.AllowGet);
        }

如果您在此链接上运行GET请求:/ Occupations?searchCriteria = Carpenter您将在回复中收到[“Carpenter”]。

我会对这个动作方法进行jQuery ajax调用。成功之后,我会接受一个响应并生成一个输出,例如li元素列表可供选择。

ajax json get请求的示例如下:

  $.ajax({
            type: 'json',
            url: '/Occupations',
            type: 'GET',
            cache: false,
            data: { searchCriteria: searchCriteria},
            error: function () {

            },
            success: function (result) {               
                alert(result);
            }
        });

这是来自记事本,因此可能会出现一些轻微的语法错误。