2011-02-05 4 views
25

現在のアクションがChildActionか経路指定されたメインアクションかどうかを確認するにはどうすればよいですか? URLを確認して、アクションの名前と比較する必要がありますか?ルーティングパターンに依存しているので、それほどうれしくはありません...
同じ名前の2つのアクションを作成し、そのうちの1つにChildActionOnlyを配置し、別のロジック(主にView()またはPartialView()を返します)を作成する必要がありますか?過負荷はどのように差別化されますか?現在のアクションはChildActionですか?

他の観点から:ChildActionの場合、PartialViewを返します。それ以外の場合は完全なViewですか?

答えて

44

あなたはIsChildActionプロパティを使用できます。partialview を返すために、ビュー内

public ActionResult Index() 
{ 
    if (ControllerContext.IsChildAction) 
    { 
     // The Index action was invoked as child action using 
     // @Html.Action("index") 
    } 
    ... 
} 
+1

同じことを '場合(Html.ViewContext.IsChildAction) { レイアウト= NULL; } ' – Valdars

関連する問題