0

我正在使用 Raven DB 和 MVC 2。默认情况下,Raven 中的 id 将为名为 Suggestion 的实体,例如“suggestions/1234”。

当我这样写时,这会导致路由问题:

<%: Url.Action("Delete", "Suggestion", new { id = suggestion.Id }) %>

该 url 将是 /Suggestion/Delete/suggestions/14337 这不起作用。

这可以在路由中解决,还是我必须在 Raven 中更改 id 的格式?我该怎么做?

4

2 回答 2

3

将您的路线从 更改{controller}/{action}/{id}{controller}/{action}/{*id}。这被称为“包罗万象”的路线;有关 MSDN的更多详细信息。

或者,您可以将id作为查询参数传递。

于 2010-06-19T13:52:50.900 回答
0

默认情况下,您将无法对正斜杠进行编码。

将 id 更改为建议_1234 或尝试使用此设置:

<uri> 
    <schemeSettings>
        <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" />
    </schemeSettings>
</uri>

我还没有检查配置设置是否有效。而我现在不能这样做,因为足球在 5 分钟后开始。

URL 中的 URL 编码斜杠

于 2010-06-19T15:01:02.037 回答