Просто создайте быстрый, простой сайт с 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 интерпретирует его как свой собственный маршрут.
Любые предложения о том, как я могу обойти это? Мне нужно создать специальный маршрут для его обработки или есть что-то еще, что я могу сделать?