ASP.NET MVC 中的多參數路由
使用 ASP.NET MVC 建立 API 時,通常需要向操作方法傳遞多個參數來檢索或操作資料。本文探討如何使用 MVC 提供的路由機制來達成此目的。
使用查詢字串傳遞參數
預設情況下,MVC 支援透過查詢字串向操作方法傳遞參數。問題中提供的 URL,類似如下所示,使用了這種方法:
<code>http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026</code>
在 MVC 中,控制器對應於“artist”,操作對應於“getImages”,而“artist”和“api_key”查詢字串參數將自動填入操作方法參數中。
自訂路由規則
儘管 MVC 支援透過查詢字串進行基本的參數傳遞,但它也允許自訂路由規則。這在處理更複雜的 URL 模式時提供了更大的靈活性。
路由規則在 global.asax 檔案中定義,並遵循特定的格式。預設情況下,它們遵循以下模式:
<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>
在這種情況下,「{artistName}」和「{apikey}」標記將從 URL 路徑中填充,並且操作方法中的「artistName」和「apikey」參數將相應地填充。
以上是如何處理 ASP.NET MVC 路由中的多個參數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!