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 をSuggestions_1234 に変更するか、次の設定を使用してみてください。

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

構成設定が機能するかどうかはまだ確認していません。あと5分でサッカーが始まるので、今はできません。

URL 内の URL エンコードされたスラッシュ

于 2010-06-19T15:01:02.037 に答える