MVC3 Custom Route, чтобы скрыть действие - PullRequest
0 голосов
/ 17 октября 2011

У меня есть вопрос маршрутизации, с которым я возился, но безуспешно пытался заставить его работать.

В принципе, у меня есть маршрут по умолчанию в моем файле global.asax, и у меня есть следующееконтроллер со следующими действиями:

Контроллер = Действия с людьми = Индекс и поиск

Когда вы посещаете страницу "Люди", вы получаете окно поиска, при запуске поиска форма ПОЛУЧИТ:1007 *

http://mysite/people/search?filter=a&searchType=IdentityCode&searchOption=StartsWith

Что я хотел бы сделать, это сбросить поиск в URL, чтобы оно выглядело примерно так:

http://mysite/people?filter=a&searchtype=IdentityCode&searchOption=StartsWith

Но все же запустите поисковое действие.

Возможно ли это вообще?

1 Ответ

1 голос
/ 17 октября 2011

Вы можете сделать это, выполнив индексирование и выполнив поиск по тому же методу.

public ActionResult Index(string filter, string searchType, string searchOption)
{

   IList<Person> people;

   if (String.IsNullOrEmpty(filter)) {
       people = peopleRepo.GetAll(); // Get all the people, or none - whatever you prefer on the index page
   }
   else
   {
       people = peopleRepo.Search(filter, searchType, searchOption);
   }

   Return View("index", people);

}

Очевидно, я взял лицензию на интерпретацию вашего кода, но я надеюсь, что вы поняли идею.

...