我正在玩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