Идентификаторы RavenDB и маршруты ASP.NET MVC3

Просто создайте быстрый и простой сайт с MVC 3 RC2 и RavenDB, чтобы кое-что проверить.

Мне удалось создать кучу проектов, но мне любопытно, как Html.ActionLink () обрабатывает идентификатор базы данных raven.

Мой пример: у меня есть документ под названием «причины» ( причина чего-то, в основном текст), в котором есть текст причины и список ссылок. Я могу добавлять, удалять и делать все остальное в моем репозитории.

Ниже приведена часть моего представления бритвы, в которой перечислены все причины в маркированном списке со ссылкой «Изменить» в качестве первого текста:

@foreach(var Reason in ViewBag.ReasonsList)
{
    <li>@Html.ActionLink("Edit", "Reasons", "Edit", new { id = Reason.Id }, null) @Reason.ReasonText</li>
    <ul>
    @foreach (var reasonlink in Reason.ReasonLinks)
    { 
        <li><a href="@reasonlink.URL">@reasonlink.URL</a></li>
    }
    </ul>
}

Проблема

Работает нормально, за исключением ссылки редактирования. Хотя значения и код здесь работают напрямую (т.е. ссылка запускается напрямую), RavenDB сохраняет идентификатор моего документа как «причины / 1».

Таким образом, когда URL-адрес появляется и передает идентификатор, результирующий маршрут «http: // localhost: 4976 / Причины / Редактировать / причины / 2». Итак, идентификатор добавлен правильно, но MVC интерпретирует его как свой собственный маршрут.

Есть какие-нибудь предложения о том, как я могу это обойти? Нужно ли мне создавать специальный маршрут для его обработки или я могу что-то еще сделать?

15
задан SeanKilleen 24 December 2010 в 18:49
поделиться