返回Action路由另一个MVC项目

时间:2009-05-06 10:19:36

标签: asp.net-mvc routing

我正在为一个新项目创建一个管理工具,我想用它从我的解决方案中的另一个项目中检索一个URL。

虽然我正在调用它的项目中不存在产品控制器,但我想从第一个项目中检索它。

这是否可能,或者我是否需要在第一个项目中创建某种辅助方法?!

非常感谢提前。

为清晰起见而更新

例如,假设我正在构建一个站点地图生成器。假设我的第一个项目中有一条路线:

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

让我们说我的产品标题为'Buzz Cola',ID为8.这会生成网址:

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 :(得分:0)

您可以创建一个从第二个项目中的控制器继承的控制器