【问题标题】:Returning an Action route another MVC project返回一个动作路由另一个 MVC 项目
【发布时间】:2009-05-07 16:07:22
【问题描述】:

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

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

这完全有可能吗,还是我需要在第一个项目中创建某种辅助方法?!

非常感谢。

更新清楚

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

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

假设我的产品标题为“Buzz Cola”,ID 为 8。这将生成 url:

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

所以,在我的第二个项目中,没有“产品”路由,也没有产品控制器,但我想在函数中创建一个可以执行以下操作的函数:

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

【问题讨论】:

    标签: asp.net-mvc routing


    【解决方案1】:

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

    【讨论】:

    • 我迷路了。这将如何帮助我从第一个项目生成 url?
    • “检索网址”是什么意思?
    • Aouida,我已经把这个问题澄清得更好了。谢谢。
    猜你喜欢
    • 2012-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-17
    • 2021-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多