2013-04-23 3 views
2

Я бегу приложение 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 для своих пользователей, поэтому я могу показать соответствующие данные в зависимости от ввода поиска.

+0

сообщение об ошибке довольно очевидно, не имеет вида имена пользователей. –

+0

Да, извините, неверное сообщение об ошибке. Обновлено сообщение :) Спасибо, –

+0

У вас есть метод «EdirUser»? –

ответ

1

От @ последний комментарий LarsHoldgaard в:

Большое спасибо за вашу помощь, я действительно путают с проектом. Однако решение изменяло Поиск HttpPost на:

return View("Index", NewUserListModel(input));