Asp.net-Mvc

RavenDb with ASP.NET MVC 3 - 如何生成帶有 ID 的 URL?

  • February 26, 2012

這可能是一個非常簡單的答案,但我是 RavenDb 的新手,所以我顯然遺漏了一些東西。

我有一個帶有預設 id 約定的基本對象:

public string Id { get; set; }

當我將它保存到文件儲存時,我看到它的值如下:

文章/123

這很好,但是……我如何生成這樣的 URL:

www.mysite.com/edit/123

如果我這樣做:

@Html.ActionLink("Edit", "Posts", new { id = @Model.Id })

它將生成以下 URL:

www.mysite.com/edit/posts/123

這不是我想要的。

當然我不必進行字元串操作?人們如何處理這個問題?

RPM1984,有幾種方法可以解決這個問題。

1)你可以修改你的路由來處理這個:

routes.MapRoute(
   "Default",                                                // Route name
   "{controller}/{action}/{*id}",                            // URL with parameters
   new { controller = "Home", action = "Index", id = "" });  // Parameter defaults

這將允許 MVC 接受帶有斜杠的參數

2)可以修改預設的id生成策略:

documentStore.Conventions.IdentityPartsSeparator = "-";

這將生成具有以下內容的 id:

文章 1 文章 2 等

另請參閱此處:

http://weblogs.asp.net/shijuvarghese/archive/2010/06/04/how-to-work-ravendb-id-with-asp-net-mvc-routes.aspx

引用自:https://stackoverflow.com/questions/7360849