使用文本框过滤列表框

时间:2019-02-04 14:07:57

标签: c# model-view-controller

现在我有一个包含用户的列表框。但是在这种情况下,我需要一个过滤器函数,在该函数中,我将能够编写“ jo”并在列表中获取所有以“ jo”开头的用户。这似乎是比我想象的更大的问题。我已经尝试了vid jquery和从控制器。就像您可以在下面看到的,我的控制器方法填充列表的是GET方法,我是否需要它的POST变量?

如果可能的话,我想让用户实时进入列表。有可能吗?

   *CONTROLLER*
   [HttpGet]
    public ActionResult Meeting(string txtValue)
    {

        var filteredUsers = SearchUser(txtValue);

        var users = new List<SelectListItem>();
        foreach (var item in filteredUsers)
        {
            users.Add(new SelectListItem
            {
                Text = item.UserFirstname + " " + item.UserLastname,
                Value = item.UserID
            });
        }

        var meetingView = new MeetingViewModel
        {
            Users = users,
            SelectedUsers = new List<SelectListItem>()
        };

        return View(meetingView);
    }



    *FILTER FUNCTION IN CONTROLLER*
     public List<UserModel> SearchUser (string txtValue)
    {
        var ctx = new DB();

        var users = ctx.Users
                    .Where(u => u.UserFirstname.Contains(txtValue) ||
                    u.UserLastname.Contains(txtValue) ||
                    txtValue == null).ToList();

        return users;
    }


    *VIEW*
    <div>
        @using (Html.BeginForm("Meeting", "Meeting", FormMethod.Get))
        {
                @Html.TextBox("txtValue", null, new { placeholder = "Input 
    value" })
                <input type="button" value="Search" />
        }
    </div>

0 个答案:

没有答案