webentwicklung-frage-antwort-db.com.de

MVC - Wie erhalte ich einen Parameterwert aus einer Abrufanforderung, die Parameternamen einschließlich Punktzeichen enthält?

In MVC wissen wir, dass wir Parameter von einer Get-Anfrage wie folgt erhalten können:

Anfordern:

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

Und im Controller

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

Aber in meiner Situation sendet mir eine externe Website eine Get-Anfrage wie:

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

Und im Controller, wenn ich versuche, diese Anfrage wie folgt zu erfüllen:

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

Ich erhalte Erstellungsfehler aufgrund eines Punkts im Variablennamen. Wie kann ich diese Parameter bekommen? Leider kann ich sie nicht bitten, Parameternamen zu ändern.

26
nooaa

Verwenden Sie den folgenden Code:

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

        ...
    }
42
ssimeonov

Dies wird wahrscheinlich die beste Wahl sein:

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

Holen Sie sich den Parameter von HttpContext.Request.Params anstatt es als expliziten Parameter zu setzen

15
James Haug