首頁 > 後端開發 > C++ > 如何將多個參數傳遞給 ASP.NET MVC 操作方法?

如何將多個參數傳遞給 ASP.NET MVC 操作方法?

DDD
發布: 2025-01-16 23:04:17
原創
768 人瀏覽過

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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板