Подтвердить что ты не робот

MVC- Как получить значение параметра из запроса get, имеющего имена параметров, включая символы точек

В MVC я знаю, что мы можем получить параметры из запроса get следующим образом:

Запрос:

http://www.example.com/method?param1=good&param2=bad

И в контроллере

public ActionResult method(string param1, string param2)
{
   ....
}

Но в моей ситуации внешний веб-сайт отправляет мне запрос на получение, например:

http://www.example.com/method?param.1=good&param.2=bad

И в контроллере, когда я пытаюсь выполнить этот запрос, как показано ниже:

public ActionResult method(string param.1, string param.2)
{
   ....
}

Я получаю ошибки сборки из-за точки в имени переменной. Как я могу получить эти параметры? К сожалению, я не могу попросить их изменить имена параметров.

4b9b3361

Ответ 1

Используйте следующий код:

    public ActionResult method()
    {
        string param1 = this.Request.QueryString["param.1"];
        string param2 = this.Request.QueryString["param.2"];

        ...
    }

Ответ 2

Это, вероятно, будет вашим лучшим выбором:

/// <summary>
/// <paramref name="param.1"/>
/// </summary>
public void Test1()
{
    var value = HttpContext.Request.Params.Get("param.1");
}

Получить параметр из HttpContext.Request.Params вместо того, чтобы помещать его как явный параметр