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