Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 在自动完成文本框mvc中显示多个值_Asp.net Mvc_Autocomplete - Fatal编程技术网

Asp.net mvc 在自动完成文本框mvc中显示多个值

Asp.net mvc 在自动完成文本框mvc中显示多个值,asp.net-mvc,autocomplete,Asp.net Mvc,Autocomplete,我试图从数据库中选择名字和姓氏到mvc中的自动完成文本框中。我只能选择第一个名字,它工作得很好。我无法将这两个字段连接起来并在自动完成文本框中显示它。非常感谢您的帮助 Jquery: <link href="~/Content/jquery-ui.css" rel="stylesheet" /> <script src="~/Content/jquery-ui.js"></script> <script type="text/javascript">

我试图从数据库中选择名字和姓氏到mvc中的自动完成文本框中。我只能选择第一个名字,它工作得很好。我无法将这两个字段连接起来并在自动完成文本框中显示它。非常感谢您的帮助

Jquery:

<link href="~/Content/jquery-ui.css" rel="stylesheet" />
<script src="~/Content/jquery-ui.js"></script>
<script type="text/javascript">
    $(function () {
        $("#txtSearch").autocomplete({
            source: '@Url.Action("GetEngineers")'
        });
    });
</script>

 @Html.TextBox("searchTerm", null, new { id = "txtSearch" })
 <input type="submit" value="Search" class="btn btn-primary" />
控制器:

private DBEntityDataModel _context;

public EngineersController()
{
   _context = new DBEntityDataModel();
}

public JsonResult GetEngineers(string term)
{
    List<string> engineers;

    //This is working when I select just the firstname to be displayed
    //engineers = _context.tblEngineers.Where(e => e.FirstName.StartsWith(term) || (e.Surname.StartsWith(term)))
    //    .Select(n => n.FirstName).ToList();

    //var res = (from e in _context.tblEngineers
    //           where e.FirstName.ToLower().Contains(term.ToLower()) || e.Surname.ToLower().Contains(term.ToLower())
    //           select new
    //           {
    //               e.FirstName,
    //               e.Surname
    //           }).ToList();

    var res = _context.tblEngineers.Where(e => e.FirstName.StartsWith(term) || (e.Surname.StartsWith(term)))
        .Select(n => new
        {
           label = n.FirstName + ' ' + n.Surname
        }).ToList();

    return Json(res, JsonRequestBehavior.AllowGet);
}

什么不起作用?您会遇到什么错误?更好的解决方案是在您的计算机上创建计算属性model@StephenMuecke当我使用上面的未注释代码时,它不会在自动完成文本框中返回firstname和姓氏。我没有发现任何错误。区别似乎在于您的未注释代码label=…@AliBesharatinia我添加了这个公共字符串FullName{get{return FirstName+names;}}},并将n.FullName传递给第一个注释代码。它不起作用