MVC- How to get parameter value from get request which has parameter names including dot characters

96,864

Solution 1

Use the following code:

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

        ...
    }

Solution 2

This will probably be your best bet:

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

Get the parameter from HttpContext.Request.Params rather than putting it as an explicit parameter

Share:
96,864
nooaa
Author by

nooaa

Updated on June 24, 2020

Comments

  • nooaa
    nooaa almost 4 years

    In MVC, I know we can get parameters from a get request like this:

    Request:

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

    And in controller

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

    But in my situation an external website sends me a get request like:

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

    And in controller when i try to meet this request like as follow:

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

    I get build errors because of dot in variable name. How can i get these parameters ? Unfortunately i can not ask them to change parameter names.