首页 > 后端开发 > C++ > 如何将多个参数传递给 ASP.NET MVC 操作方法?

如何将多个参数传递给 ASP.NET MVC 操作方法?

DDD
发布: 2025-01-16 23:04:17
原创
819 人浏览过

How to Pass Multiple Parameters to an ASP.NET MVC Action Method?

ASP.NET MVC 中的多参数路由

问题:

如何将多个参数传递给 ASP.NET MVC 中的动作方法,考虑到以下 API 调用格式?

<code>http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026</code>
登录后复制

解答:

MVC 通过直接在动作方法参数中添加参数来支持多参数传递。例如,考虑以下动作方法:

<code>public ActionResult GetImages(string artistName, string apiKey)</code>
登录后复制

当提供类似以下格式的 URL 时,MVC 会自动填充参数:

<code>/Artist/GetImages/?artistName=cher&apiKey=XXX</code>
登录后复制

对于名为“id”的参数,可以将其放在路径中,而不是查询字符串中,如下所示:

<code>public ActionResult GetImages(string id, string apiKey)</code>
登录后复制

此方法将通过以下 URL 正确填充:

<code>/Artist/GetImages/cher?apiKey=XXX</code>
登录后复制

此外,可自定义的路由规则允许更复杂的场景。在 global.asax 文件中,您可以重新定义 MVC 使用的路由规则。默认规则如下:

<code>routes.MapRoute(
            "Default",                                              // 路由名称
            "{controller}/{action}/{id}",                           // 带参数的 URL
            new { controller = "Home", action = "Index", id = "" }  // 参数默认值
        );</code>
登录后复制

对于类似 /Artist/GetImages/cher/api-key 的 URL,您可以添加如下路由:

<code>routes.MapRoute(
            "ArtistImages",                                              // 路由名称
            "{controller}/{action}/{artistName}/{apikey}",                           // 带参数的 URL
            new { controller = "Home", action = "Index", artistName = "", apikey = "" }  // 参数默认值
        );</code>
登录后复制

这将允许使用类似于第一个示例的动作方法。

以上是如何将多个参数传递给 ASP.NET MVC 操作方法?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板