Domanda

Attualmente sto creando uno strumento di amministrazione per un nuovo progetto che vorrei utilizzare per recuperare un URL da un altro progetto nella mia soluzione.

Anche se il controller del prodotto non esiste nel progetto da cui lo chiamo, vorrei recuperarlo dal primo progetto.

È possibile o dovrei creare una sorta di metodo di supporto nel primo progetto ?!

Molte grazie in anticipo.

Aggiornamento per chiarezza

Ad esempio, supponiamo che stia creando un generatore di Sitemap. Diciamo che ho un percorso nel mio primo progetto:

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

E diciamo che ho un prodotto con il titolo 'Buzz Cola' con un ID di 8. Questo genererebbe l'URL:

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

Quindi, nel mio secondo progetto, non c'è " Prodotto " percorso e non esiste un controller di prodotto, ma mi piacerebbe crearne uno in una funzione che farebbe qualcosa del genere:

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 });
  );
}

Alla fine di questo, productUrls conterrebbe qualcosa come:

products/slurm_cola-1
products/hotdogs-2
products/squishy-3
products/buzz_cola-8
È stato utile?

Soluzione

puoi creare un controller che eredita dal controller nel secondo progetto

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top