Я бегу приложение MVC, которые имеют модель представления, как это:Обновление содержимого в зависимости от строки в модели представления
public class UserListViewModel
{
public UserListViewModel()
{
Users = new List<UserViewModel>();
QueriedUsers = new List<UserViewModel>();
}
public List<UserViewModel> Users { get; private set; }
public string SearchQuery { get; set; }
public List<UserViewModel> QueriedUsers { get; private set; }
}
- Пользователи: оригинальные пользователи
- SearchQuery: а запрос, возвращаемый видом
- QueriedUsers: Пользователи после сортировки пользователей
На мой взгляд, у меня есть следующий код:
@using (Html.BeginForm("Search", "EditUser"))
{
@Html.EditorFor(model => Model.SearchQuery);
}
@if (Model.QueriedUsers != null && Model.QueriedUsers.Any())
{
foreach (var u in Model.QueriedUsers)
{
// do stuff
}
}
else
{
foreach (var u in Model.Users)
{
// do stuff
}
}
И это код HttpPost в контроллере:
[HttpPost]
public ActionResult Search(UserListViewModel input)
{
return View("EditUser",NewUserListModel(input));
}
Прежде чем нажать кнопку ввода в моем поле поиска, я URL-адрес, как это:
http://localhost:61162/Admin/Users
После нажатия кнопки ввода, я получаю:
http://localhost:61162/Admin/Users/Search
С моей точки останова я могу сказать, что код контроллера запущен.
Я получаю ошибку в моем новом URL является:
Ресурс не может быть найден. Описание: HTTP 404. Ресурс, который вы ищете (или его зависимости), мог быть удален, если его имя было изменено, или временно недоступен. Проверьте следующий URL-адрес и сделайте уверенным, что оно написано правильно.
Requested URL: /Admin/EditUser/Search
Что, конечно, вызвано URL изменился.
Любые подсказки, как решить мою проблему? :-) Я просто хочу иметь предложение where для своих пользователей, поэтому я могу показать соответствующие данные в зависимости от ввода поиска.
сообщение об ошибке довольно очевидно, не имеет вида имена пользователей. –
Да, извините, неверное сообщение об ошибке. Обновлено сообщение :) Спасибо, –
У вас есть метод «EdirUser»? –