Возврат маршрута действия другому проекту MVC - PullRequest
0 голосов
/ 06 мая 2009

В настоящее время я создаю инструмент администратора для нового проекта, который я хотел бы использовать для получения URL-адреса из другого проекта в моем решении.

Хотя контроллер продукта не существует в проекте, из которого я его вызываю, я хотел бы получить его из первого проекта.

Это вообще возможно, или мне нужно создать какой-нибудь вспомогательный метод в первом проекте?!

Большое спасибо заранее.

Обновление для ясности

Например, допустим, я создаю генератор карты сайта. Допустим, у меня есть маршрут в моем первом проекте:

routes.MapRoute(
  "Product",
  "products/{Title}-{Id}",
  new { controller = "Product", action = "Details" }
);

И скажем, у меня есть продукт с названием «Buzz Cola» с идентификатором 8. Это сгенерирует URL:

products/buzz_cola-8  (title has been cleaned, but constraints are not shown here)

Итак, в моем втором проекте нет маршрута «Product», и нет контроллера Product, но я бы хотел создать его в функции, которая бы выполняла что-то вроде этого:

IEnumerable<ProductInfo> products = MyServiceLayer.GetAllProducts();
List<string> productUrls
foreach(ProductInfo productInfo in products)
{
  productUrls.Add(
    FirstProject.Action("Details", "Product", new { Title = CleanTitle(productInfo.Title), Id = ProductInfo.Id });
  );
}

В конце этого productUrls будет содержать что-то вроде:

products/slurm_cola-1
products/hotdogs-2
products/squishy-3
products/buzz_cola-8

1 Ответ

0 голосов
/ 06 мая 2009

вы можете создать контроллер, который наследуется от контроллера во втором проекте

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