Maison >développement back-end >C++ >Comment transmettre efficacement plusieurs paramètres aux méthodes d'action ASP.NET MVC ?

Comment transmettre efficacement plusieurs paramètres aux méthodes d'action ASP.NET MVC ?

DDD
DDDoriginal
2025-01-16 23:19:12747parcourir

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

Explication détaillée du routage multi-paramètres ASP.NET MVC

Dans le processus de création d'une API ASP.NET MVC, vous pouvez rencontrer des situations dans lesquelles le point de terminaison de l'API nécessite plusieurs paramètres. Par exemple, lorsque vous utilisez l'exemple d'URL qui contient les paramètres « artiste » et « api_key », vous ne savez peut-être pas comment transmettre ces paramètres à votre méthode d'action dans MVC.

Passer les paramètres à la méthode d'opération

Dans MVC, vous pouvez facilement transmettre des paramètres aux méthodes d'action en les ajoutant simplement en tant que paramètres de méthode. Par exemple, étant donné une opération :

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

MVC remplira ces paramètres de manière transparente lorsqu'il sera fourni avec une URL telle que :

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

Gérer le paramètre nommé "ID"

MVC fournit une fonctionnalité unique pour le paramètre nommé "id". Tout paramètre portant ce nom peut être placé directement dans le chemin plutôt que dans la chaîne de requête. Donc, une méthode comme celle-ci :

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

peut être renseigné correctement en utilisant une URL telle que :

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

Règles de routage personnalisées

Pour les cas plus complexes, vous pouvez personnaliser les règles de routage que MVC utilise pour les opérations de recherche. Le fichier global.asax contient des règles de routage modifiables. Par défaut, les règles sont définies comme :

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

Si vous souhaitez prendre en charge des URL telles que :

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

Vous pouvez ajouter une règle de routage supplémentaire, par exemple :

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

En faisant cela, vous pouvez utiliser l'exemple de méthode fourni précédemment.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn