ホームページ >バックエンド開発 >C++ >複数のパラメーターを ASP.NET MVC アクション メソッドに効率的に渡す方法

複数のパラメーターを ASP.NET MVC アクション メソッドに効率的に渡す方法

DDD
DDDオリジナル
2025-01-16 23:19:12749ブラウズ

How to Efficiently Pass Multiple Parameters to ASP.NET MVC Action Methods?

ASP.NET MVC マルチパラメータルーティングの詳細な説明

ASP.NET MVC API を構築するプロセスでは、API エンドポイントに複数のパラメーターが必要な状況が発生することがあります。たとえば、「artist」パラメータと「api_key」パラメータを含むサンプル URL を使用する場合、これらのパラメータを MVC のアクション メソッドに渡す方法が明確ではない場合があります。

操作メソッドにパラメータを渡します

MVC では、パラメーターをメソッドのパラメーターとして追加するだけで、アクション メソッドに簡単に渡すことができます。たとえば、次のような操作があるとします。

<code class="language-csharp">public ActionResult GetImages(string artistName, string apiKey)</code>

MVC は、次のような URL を指定すると、これらのパラメーターをシームレスに設定します。

<code>/Artist/GetImages/?artistName=cher&apiKey=XXX</code>

「ID」という名前のパラメータを処理します

MVC は、「id」という名前のパラメーターに独自の機能を提供します。この名前のパラメータは、クエリ文字列ではなくパスに直接配置できます。したがって、次のようなメソッド:

<code class="language-csharp">public ActionResult GetImages(string id, string apiKey)</code>

は、

のような URL を使用して正しく設定できます。
<code>/Artist/GetImages/cher?apiKey=XXX</code>

カスタムルーティングルール

より複雑な場合には、MVC が検索操作に使用するルーティング ルールをカスタマイズできます。 global.asax ファイルには、変更可能なルーティング ルールが含まれています。デフォルトでは、ルールは次のように定義されています:

<code class="language-csharp">routes.MapRoute(
            "Default",                                              // 路由名称
            "{controller}/{action}/{id}",                           // 带参数的URL
            new { controller = "Home", action = "Index", id = "" }  // 参数默认值
        );</code>

次のような URL をサポートしたい場合:

<code>/Artist/GetImages/cher/api-key</code>

追加のルーティング ルールを追加できます。例:

<code class="language-csharp">routes.MapRoute(
            "ArtistImages",                                              // 路由名称
            "{controller}/{action}/{artistName}/{apikey}",                           // 带参数的URL
            new { controller = "Home", action = "Index", artistName = "", apikey = "" }  // 参数默认值
        );</code>

これにより、前に提供したサンプルメソッドを使用できるようになります。

以上が複数のパラメーターを ASP.NET MVC アクション メソッドに効率的に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。