我使用ASP.NET MVC5使用/在查詢字符串值,我有這樣一個URL:如何在asp.net mvc的
本地主機:/產品/ 12/nexus5x /石英
product :controller; 12 :id; nexus5x/quartz:name
但它返回一個404
錯誤,因爲url中的最後一個參數包含/
,我沒有路由來支持這個。 我該怎麼做? 有時最後一個參數(productName
)包含/
。
第一個解決方案是將替換爲-
,但對於某些產品我無法替代。
我使用ASP.NET MVC5使用/在查詢字符串值,我有這樣一個URL:如何在asp.net mvc的
本地主機:/產品/ 12/nexus5x /石英
product :controller; 12 :id; nexus5x/quartz:name
但它返回一個404
錯誤,因爲url中的最後一個參數包含/
,我沒有路由來支持這個。 我該怎麼做? 有時最後一個參數(productName
)包含/
。
第一個解決方案是將替換爲-
,但對於某些產品我無法替代。
我相信你應該可以使用捕捉所有路線。只是前綴星號'*'到最後一個標記。
下面是一個使用路由屬性的例子:
[Route("product/{id}/{*name}")]
參數「名」這裏應該捕捉一切都會過去「身份證」,即使包括一個斜線。
我無法在'@ Html.action'中調用'encodeURI' –
@osmanRahimi在C#中,您可以使用'Uri.EscapeUriString' https://msdn.microsoft.com/zh-cn/library/system.uri .escapeuristring(v = vs.110)的.aspx –