MVC 3, параметр url не разделяется - PullRequest
1 голос
/ 03 февраля 2012

Я знакомлюсь с MVC 3. Первое, что я понял в этом уроке - невероятно!

Это мой метод-контроллер:

    public string Welcome(string name, int numTimes = 1)
    {
        return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);
    }

И URL, который я использую:

http://localhost:49770/HelloWorld/Welcome?name=Adam?numTimes=4

Что должно производить это:

Привет, Адам, NumTimes: 4

Но на самом деле это так:

Здравствуйте, Адам? NumTimes = 4, NumTimes: 1

Он не разделяет параметры! Это должно быть что-то действительно простое, что я пропустил!

Ответы [ 3 ]

3 голосов
/ 03 февраля 2012

У вас есть 2 знака вопроса (?). заменить второй на амперсанд (&)

http://localhost:49770/HelloWorld/Welcome?name=Adam&numTimes=4
1 голос
/ 03 февраля 2012

При формировании строк для отправки параметров, особенно если вы используете JSON для этого с AJAX, между каждым отправленным полем должен быть символ &.& Действует аналогично запятой в параметрах метода.Тогда как вызов из кода может быть Welcome("Adam",4), из URL он будет выглядеть как /Welcome?name=Adam&numTimes=4.?говорит MVC (при условии регулярной маршрутизации) использовать найденное действие, в этом случае Welcome.Далее следуют пары имя-значение, разделенные символом &.

1 голос
/ 03 февраля 2012

Использование http://localhost:49770/HelloWorld/Welcome?name=Adam&numTimes=4

Последовательности пар ключ / значение в строке запроса разделяются амперсандом.

Подробнее см. http://en.wikipedia.org/wiki/Query_string.

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