In MVC wissen wir, dass wir Parameter von einer Get-Anfrage wie folgt erhalten können:
Anfordern:
http://www.example.com/method?param1=good¶m2=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¶m.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.
Verwenden Sie den folgenden Code:
public ActionResult method()
{
string param1 = this.Request.QueryString["param.1"];
string param2 = this.Request.QueryString["param.2"];
...
}
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