Ответ 1
Используйте следующий код:
public ActionResult method()
{
string param1 = this.Request.QueryString["param.1"];
string param2 = this.Request.QueryString["param.2"];
...
}
В MVC я знаю, что мы можем получить параметры из запроса get следующим образом:
Запрос:
http://www.example.com/method?param1=good¶m2=bad
И в контроллере
public ActionResult method(string param1, string param2)
{
....
}
Но в моей ситуации внешний веб-сайт отправляет мне запрос на получение, например:
http://www.example.com/method?param.1=good¶m.2=bad
И в контроллере, когда я пытаюсь выполнить этот запрос, как показано ниже:
public ActionResult method(string param.1, string param.2)
{
....
}
Я получаю ошибки сборки из-за точки в имени переменной. Как я могу получить эти параметры? К сожалению, я не могу попросить их изменить имена параметров.
Используйте следующий код:
public ActionResult method()
{
string param1 = this.Request.QueryString["param.1"];
string param2 = this.Request.QueryString["param.2"];
...
}
Это, вероятно, будет вашим лучшим выбором:
/// <summary>
/// <paramref name="param.1"/>
/// </summary>
public void Test1()
{
var value = HttpContext.Request.Params.Get("param.1");
}
Получить параметр из HttpContext.Request.Params
вместо того, чтобы помещать его как явный параметр