簡體   English   中英

在基於屬性的路由mvc5中無法識別帶有連字符的單詞

[英]Words with hyphen are not recognized in attribute based routing mvc5

無法將少數網址與MVC5路由屬性匹配

路線屬性

[Route("{language}/{moviename}-{year:int}-{tracktitle}-movie")]

與匹配(均為作品)

localdomain/English/Transformers-2013-ABC-movie

localdomain/English/Wolf-of-wall-street-2013-ABC-movie

但是,當添加ABC並添加一個單詞DEF作為曲目標題時,它不匹配。

localdomain/English/Transformers-2013-ABC-DEF-movie

為什么不使用'/'分隔參數,而不是嘗試使用連字符。 通常,連字符表示它是單個單詞/相關短語,在您的情況下,它是單獨的可區分項

例如: [Route("{language}/{moviename}/{year:int}/{tracktitle}/movie")]

編輯:

嘗試結合使用全部匹配和正則表達式匹配

[Route("{language}/{moviename}-{year:int}-{*tracktitle:regex(^-movie$)}")]

然后,在您的操作中,從曲目標題中刪除字符串“ -movie”,但這應允許您使用約定

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM