2

現在、CMS システムを構築していて、コンポーネントを簡単に含めたり除外したりする必要があります。

私が最初に考えたのは、asp.net mvc エリア機能を使用して、各コンポーネントをそれ自体で識別することでした。

しかし、私が見たところ、エリア機能には問題があるので、あまり良い考えではないかもしれません.

4

2 に答える 2

4

エリア機能をいくつか経験した結果、ルート エリアと同じマスター ページを共有しない、サイト内のまったく異なる何かにエリアが最適であると思います。

私の場合、そのコンポーネントはルート サイトへのアドオンであり、同じマスター ページを共有しているため、領域を使用するのはベスト プラクティスではありません。

于 2010-02-16T19:39:39.287 に答える
3

これは、共通のマスター ページを参照する領域では非常に不運です! これを回避するために1日を無駄にしました。

おそらく、マスターページの正しい「領域」トークンを達成するために最も近いと思われるトリックは、ここで説明されています。

 var area = ViewContext.RouteData.DataTokens["area"];
 ViewContext.RouteData.DataTokens["area"] = "";
 base.OnPreRender(e);
 ViewContext.RouteData.DataTokens["area"] = area

悲しいことに、主に ActionLinks がマスターではなく、兄弟 <asp:content/> で生成されているため、ページの元の領域がまだ使用されているため、うまくいきませんでした。

于 2011-03-16T12:06:33.460 に答える