ASP.Net MVC Route не передает параметр в контроллер - PullRequest
2 голосов
/ 04 августа 2009

Я пытаюсь выучить MVC и начинаю грубо.

routes.MapRoute(
       "Test",
       "Test/{stringInput}",
       new { controller = "Test", action = "TestMethod", stringInput = "" }
);

не передает stringInput методу TestMethod в контроллере. Это приходит через ноль.

Не уверен, что мне не хватает, это кажется очень простым и понятным. Этот маршрут был размещен выше значения по умолчанию.

Ответы [ 3 ]

3 голосов
/ 05 августа 2009

Переопределите метод Execute вашего контроллера, а затем установите в нем точку останова, чтобы вы могли видеть контекст запроса. Одним из свойств является передаваемая пара ключ / значение. Убедитесь, что ключ для stringInput имеет правильное значение.

1 голос
/ 05 августа 2009

Убедитесь, что ваш контроллер настроен правильно. Должен быть в папке

Controllers/TestController.cs

и внутри контроллера должно быть

public ActionResult TestMethod( string stringInput )
{
    return View();
}

В нем используются условные обозначения, поэтому имя, которое вы задали в маршруте, должно соответствовать файлам, методам и параметрам контроллера.

URL, чтобы добраться до этого должен быть

/Test/TestMethod/MyStringInput

и «MyStringInput» будет значением переменной stringInput.

0 голосов
/ 04 августа 2009

Вы уверены, что используется тот маршрут? Попробуйте переместить его в начало списка маршрутов, чтобы убедиться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...