2

我想像 google 或 Facebook 一样进行自动完成搜索,我想从两个不同的表中获取数据,我正在使用 Entity Framework 和 MVC-4 ..到目前为止我是通过 ajax 完成的,这是我的操作

public ActionResult AutoComplete(string term)
{
    var model = _db.Instructors
                   .OrderByDescending(u => u.Id)
                   .Where(u => u.FullName.Contains(term))
                   .Take(30)
                   .Select(u => new {
                      label = u.FirstName + " " + u.LastName
                   });

    return Json(model, JsonRequestBehavior.AllowGet);
}

我的JS

$(function () {

    var createAutoComplete = function () {
        var $input = $(this);

        var options = {
            source: $input.attr("data-otf-autocomplete"),
            select: submitAutoCompleteForm
        };

        $input.autocomplete(options);
    };
        $("input[data-otf-autocomplete]").each(createAutoComplete);
});

我想从这样的两个表中提取数据

var model = _db.Instructors
               .OrderByDescending(u => u.Id)
               .Where(u => u.FullName.Contains(term))
               .Take(30)
               .Select(u => new {
                   label = u.FirstName + " " + u.LastName
               });

var model2 = _db.courses
                .OrderByDescending(u => u.Id)
                .Where(u => u.title.Contains(term))
                .Take(30)
                .Select(u => new {
                    label = u.title
                });

            return Json(model2,model1 JsonRequestBehavior.AllowGet);

我想在自动完成列表中显示讲师和课程。请帮帮我

4

1 回答 1

0

因此,您使用相同的匿名类型,您可以将讲师与课程连接起来:

return Json(model1.Concat(model2), JsonRequestBehavior.AllowGet);
于 2013-07-21T21:38:28.887 回答