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

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

DDD
リリース: 2025-01-16 23:19:12
オリジナル
746 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート