質問

現在、新しいプロジェクトの管理ツールを作成しています。これを使用して、ソリューション内の別のプロジェクトからURLを取得します。

製品コントローラーは、呼び出し元のプロジェクトには存在しませんが、最初のプロジェクトから取得したいです。

これは可能ですか、それとも最初のプロジェクトで何らかのヘルパーメソッドを作成する必要がありますか?

事前に感謝します。

明確にするために更新

たとえば、サイトマップジェネレータを作成しているとしましょう。最初のプロジェクトにルートがあるとしましょう:

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

IDが8の「Buzz Cola」というタイトルの製品があるとします。これにより、URLが生成されます。

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

つまり、2番目のプロジェクトには、「製品」はありません。ルーティング、およびProductコントローラーはありませんが、次のようなことをする関数で1つ作成したいと思います。

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
役に立ちましたか?

解決

2番目のプロジェクトのコントローラーから継承するコントローラーを作成できます

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top