Скажите, что я хочу отобразить данные пользователя примерно так:
http://www.mysite.com/user/1
Я настроил маршрут так:
routes.MapRoute("UserDetails", "user/"{id}",
new { controller = "User", action = "Details" });
Тогда мой контроллер:
public ActionResult Details(int id)
{
User currentUser = _userRepository.GetUser(id);
if (currentUser == null) return View("NotFound");
return View(currentUser);
}
Пока все хорошо. Все работает как я ожидаю. Теперь мне также нужна форма, в которой можно ввести идентификатор для поиска и нажать «Отправить», чтобы получить тот же результат. например:
<% Html.BeginForm("Details","User",FormMethod.Post); %>
<input type="text" value="" name="id" id="userid" />
<%= Html.Button("Search For User","submit","searchforuser"; %>
<% Html.EndForm(); %>
Это то место, где я сейчас потерялся. Я не хочу просто иметь [AcceptVerbs (HttpVerbs.Post)] и использовать RedirectToAction, если это возможно. Я просто хочу взять любое число, которое они введут - скажем, 38 - и перейти на www.mysite.com/user/38
Возможно ли это даже с прямым MVC? Я уверен, что есть способы, связанные с jQuery, но до сих пор не получалось получить что-то кроме базового работающего оповещения jQuery, поэтому на самом деле не хочу тратить на это больше времени.