Dans MVC, je sais que nous pouvons obtenir les paramètres d'une requête get comme celle-ci:
Demande:
http://www.example.com/method?param1=good¶m2=bad
Et dans le contrôleur
public ActionResult method(string param1, string param2)
{
....
}
Mais dans ma situation, un site Web externe m'envoie une demande d'obtention telle que:
http://www.example.com/method?param.1=good¶m.2=bad
Et dans le contrôleur quand j'essaie de répondre à cette demande comme suit:
public ActionResult method(string param.1, string param.2)
{
....
}
Je reçois des erreurs de construction à cause du point dans le nom de variable. Comment puis-je obtenir ces paramètres? Malheureusement, je ne peux pas leur demander de changer les noms des paramètres.
Utilisez le code suivant:
public ActionResult method()
{
string param1 = this.Request.QueryString["param.1"];
string param2 = this.Request.QueryString["param.2"];
...
}
Ce sera probablement votre meilleur pari:
/// <summary>
/// <paramref name="param.1"/>
/// </summary>
public void Test1()
{
var value = HttpContext.Request.Params.Get("param.1");
}
Récupère le paramètre de HttpContext.Request.Params
plutôt que de le définir comme paramètre explicite