現在、CMS システムを構築していて、コンポーネントを簡単に含めたり除外したりする必要があります。
私が最初に考えたのは、asp.net mvc エリア機能を使用して、各コンポーネントをそれ自体で識別することでした。
しかし、私が見たところ、エリア機能には問題があるので、あまり良い考えではないかもしれません.
現在、CMS システムを構築していて、コンポーネントを簡単に含めたり除外したりする必要があります。
私が最初に考えたのは、asp.net mvc エリア機能を使用して、各コンポーネントをそれ自体で識別することでした。
しかし、私が見たところ、エリア機能には問題があるので、あまり良い考えではないかもしれません.
エリア機能をいくつか経験した結果、ルート エリアと同じマスター ページを共有しない、サイト内のまったく異なる何かにエリアが最適であると思います。
私の場合、そのコンポーネントはルート サイトへのアドオンであり、同じマスター ページを共有しているため、領域を使用するのはベスト プラクティスではありません。
これは、共通のマスター ページを参照する領域では非常に不運です! これを回避するために1日を無駄にしました。
おそらく、マスターページの正しい「領域」トークンを達成するために最も近いと思われるトリックは、ここで説明されています。
var area = ViewContext.RouteData.DataTokens["area"];
ViewContext.RouteData.DataTokens["area"] = "";
base.OnPreRender(e);
ViewContext.RouteData.DataTokens["area"] = area
悲しいことに、主に ActionLinks がマスターではなく、兄弟 <asp:content/> で生成されているため、ページの元の領域がまだ使用されているため、うまくいきませんでした。