LoginSignup
0
0

More than 1 year has passed since last update.

ASP.NET CoreにおけるURLクエリ文字列(URLパラメーター)のコントローラー側の受け取り方

Posted at

ASP.NET Core MVCプロジェクト(.NET6.0)において、URLクエリ文字列(URLの"?"以降に追加されるパラメーター)をコントローラーで受け取る方法うを2通り解説します。

あらかじめ予定された名前のパラメーターを受け取る場合

コントローラーの引数として値を受け取ります。

URLの記述

https://example.com/Home/Index?param1=10&param2=20

コントローラーの記述

パラメーターと同じ名称のメソッド引数に値が格納されています。

public IActionResult Index([FromQuery] int? param1, [FromQuery] int? param2) {
    //コントローラー引数としてクエリ文字列を受け取り。
    //パラメーター名と引数名を一致させる必要がある。
    Console.WriteLine(param1); // 10
    Console.WriteLine(param1); // 20

    return View();
}

名前が未定のパラメーターを受け取る場合

Request.QueryにURLパラメーターが連想配列としてバインドされているので利用します。

URLの記述

https://example.com/Home/Index?param1=10&param2=20

コントローラーの記述

こちらの方法では、引数をあらかじめ指定する必要がなく、動的にパラメーターを受け取ることが出来ます。

public IActionResult Index() {
    var params = Request.Query;

    Console.WriteLine(params["param1"]); // 10
    Console.WriteLine(params["param1"]); // 20

    return View();
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0