MVC:新手自动完成

时间:2014-01-28 13:56:37

标签: c# jquery asp.net-mvc autocomplete

我正在尝试在我的Asp.Net MVC应用程序中创建一个自动完成框。 这就是我到目前为止所做的 我的viewModel

public class CreateAppointment
{
    public string SuperOfficeEmail { get; set; }
}

在控制器中我有这个方法

    public ActionResult Create()
    {

        return View();
    }

    public ActionResult Person(string searchText)
    {
        var persons = FindPersons(searchText);
        return Content(?? don't know what to do)
    }

在视图中我有

@model DatePicker.Models.ViewModels.CreateAppointment
@{
    ViewBag.Title = "Create";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

<h2>Create</h2>
@using(Html.BeginForm("Create","Appointment"))
{
   @Html.TextBoxFor(m=>m.SuperOfficeEmail)
}

<script src="~/Scripts/jquery-ui-1.10.4.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#SuperOfficeEmail").
        autocomplete('@Url.Action("Persons", "Appointment")', { minChars: 1 });   
        });

</script>

ActionResult Person var persons举行List<AddressBookPersons> 和AddressBookPersons类看起来像这样

public class AddressBookPerson
{
    public string Email { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

我想要做的是当出现自动填充时显示FirstName + LastName作为文本,当用户选择某些选项时,我将Email作为文本框的值。就像我们在下拉列表中所做的那样。 这可能吗(可能正在使用Ajax?)?我怎么做? 我之前没有使用自动完成功能,并且正在关注此网站tutorial,我对jquery也很陌生。

0 个答案:

没有答案