MVCでは、次のようなgetリクエストからパラメーターを取得できることがわかっています。
要求:
http://www.example.com/method?param1=good¶m2=bad
そしてコントローラーで
public ActionResult method(string param1, string param2)
{
....
}
しかし、私の状況では、外部Webサイトから次のようなgetリクエストが送信されます。
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
から取得します