У меня простой контроллер:
public class TestController : Controller
{
public ActionResult Test(string r)
{
return View();
}
}
У меня есть простой View Test.cshtml:
<h2>@ViewContext.RouteData.Values["r"]</h2>
@using (Html.BeginForm("Test", "Test"))
{
<input type="text" name="r" />
<button>Submit</button>
}
У меня есть правило маршрута в Global.asax:
routes.MapRoute(
null,
"Test/{r}",
new { action = "Test", controller = "Test",
r = UrlParameter.Optional }
);
Я хочу сделать такую вещь: пользователь вводит значение маршрута во ввод, нажимает submit и контроллер перенаправляет его на страницу Test / value. Но контроллер показывает просто страницу с именем Test каждый раз. ViewContext.RouteData.Values ["r"] тоже пусто. Я проверяю в отладке, Тестовое действие корректно получает пользовательское значение r.
Как я могу реализовать свою идею?
Благодаря.