我正在玩Raven DB和MVC 2。 默认情况下,Raven中的id将是例如对于名为Suggestion的实体,“建议/ 1234”。
当我这样写时,这会导致路由问题:
<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>
网址将是/ Suggestion / Delete / suggestions / 14337,这将无效。
这可以在路由中解决,还是我必须在Raven中更改id的格式?我该怎么做?
答案 0 :(得分:3)
将您的路线从{controller}/{action}/{id}
更改为{controller}/{action}/{*id}
。这被称为“全能”路线;更多详情on MSDN。
或者,您可以将id
作为查询参数传递。
答案 1 :(得分:0)
默认情况下,您无法对正斜杠进行编码。
将ID更改为suggestions_1234或尝试使用此设置:
<uri>
<schemeSettings>
<add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
</schemeSettings>
</uri>
我没有检查配置设置是否有效。我现在不能这样做,因为足球在5分钟后开始。