代码之家  ›  专栏  ›  技术社区  ›  Brian R. Bondy

返回动作路线另一个MVC项目

  •  0
  • Brian R. Bondy  · 技术社区  · 6 年前

    我目前正在为一个新项目创建一个管理工具,我希望使用该工具从我的解决方案中的其他项目中检索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 });
      );
    }
    

    最后,productURL将包含如下内容:

    products/slurm_cola-1
    products/hotdogs-2
    products/squishy-3
    products/buzz_cola-8
    
    1 回复  |  直到 15 年前
        1
  •  0
  •   user434917    15 年前

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