Генерировать ссылки в ASP.NET MVC? - PullRequest
4 голосов
/ 05 июня 2009

У меня есть следующее определение маршрута в таблице MapRoute:

routes.MapRoute(
            "ViewDocument",
            "browse/document/{document_id}/{document_title}",
            new { controller = "Document", action = "ViewDocument"}
            );

Мне нужно создать ссылки документов в индексном представлении документа (объект документа имеет свойства "id" и "title")

Каким должен быть мой подход к генерации ссылки в ASP.NET MVC?

Что-то не так с определением маршрута?

Ответы [ 3 ]

6 голосов
/ 05 июня 2009

В ваших маршрутах:

routes.MapRoute(
    "ViewDocument",
    "browse/document/{document_id}/{document_title}",
    new { controller = "Document", action = "Title", document_id = "", document_title = ""}
);

По вашему мнению:

<%= Url.RouteUrl("ViewDocument", new { document_id = ... , document_title = ... }) %>

(выводит простой URL)

или

<%= Html.RouteLink("ViewDocument", new { document_id = ... , document_title = ... }) %>

(отображает <a></a> элемент с атрибутом href, заполненным URL)

0 голосов
/ 05 июня 2009

Вы можете генерировать ссылки на документы по маршруту, указанному ниже:

<%= Html.ActionLink("Doc Link", "Title", "Document", new { document_id="id", document_title="title" }, null) %>

Несколько вещей, о которых следует знать:

  • Ваш маршрут должен быть добавлен до маршрута по умолчанию.
  • Вы должны включить значения маршрута, как показано выше, чтобы они были указаны в ссылке.
0 голосов
/ 05 июня 2009

Разве вы не сможете найти нужный документ, просто основываясь на его идентификаторе?

Не будет ли название лишним?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...