Home >Backend Development >C++ >How to Pass Multiple Parameters to an ASP.NET MVC Action Method?
Question:
How to pass multiple parameters to an action method in ASP.NET MVC, considering the following API call format?
<code>http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026</code>
Answer:
MVC supports multi-parameter passing by adding parameters directly in action method parameters. For example, consider the following action method:
<code>public ActionResult GetImages(string artistName, string apiKey)</code>
MVC automatically populates parameters when provided with a URL in the following format:
<code>/Artist/GetImages/?artistName=cher&apiKey=XXX</code>
For the parameter named "id", you can put it in the path instead of the query string, like this:
<code>public ActionResult GetImages(string id, string apiKey)</code>
This method will correctly populate via the following URL:
<code>/Artist/GetImages/cher?apiKey=XXX</code>
Additionally, customizable routing rules allow for more complex scenarios. In the global.asax file, you can redefine the routing rules used by MVC. The default rules are as follows:
<code>routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带参数的 URL new { controller = "Home", action = "Index", id = "" } // 参数默认值 );</code>
For a URL like /Artist/GetImages/cher/api-key, you can add the following route:
<code>routes.MapRoute( "ArtistImages", // 路由名称 "{controller}/{action}/{artistName}/{apikey}", // 带参数的 URL new { controller = "Home", action = "Index", artistName = "", apikey = "" } // 参数默认值 );</code>
This will allow the use of action methods similar to the first example.
The above is the detailed content of How to Pass Multiple Parameters to an ASP.NET MVC Action Method?. For more information, please follow other related articles on the PHP Chinese website!