我正在玩Raven DB和MVC 2. 默認情況下,Raven中的身份證件將是例如。對於一個名爲Suggestion的實體,「建議/ 1234」。身份證帶/導致路由問題
這會導致路由問題,當我寫這樣的:
<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>
將URL /建議/刪除/建議/ 14337,將無法正常工作。
這可以在路由中解決,或者我是否必須更改Raven中id的格式?我該怎麼做?
我正在玩Raven DB和MVC 2. 默認情況下,Raven中的身份證件將是例如。對於一個名爲Suggestion的實體,「建議/ 1234」。身份證帶/導致路由問題
這會導致路由問題,當我寫這樣的:
<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>
將URL /建議/刪除/建議/ 14337,將無法正常工作。
這可以在路由中解決,或者我是否必須更改Raven中id的格式?我該怎麼做?
將您的路線從{controller}/{action}/{id}
更改爲{controller}/{action}/{*id}
。這被稱爲「全通」路線;更多詳情on MSDN。
或者,您可以將id
作爲查詢參數。
默認情況下,您將無法編碼正斜槓。
更改ID,suggestions_1234或嘗試使用此設置:
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
我沒有檢查是否配置設置工作呢。我現在不能這樣做,因爲足球在5分鐘內開始。
好主意,但只適用於最後一個參數 – 2010-06-19 15:04:40