2011-02-05 31 views
25

如何確定當前操作是否爲ChildAction或路由主操作?我應該檢查網址並與動作名稱進行比較嗎?這不是很好,因爲它取決於路由模式...
或者我應該做兩個相同名稱的操作,將ChildActionOnly放在其中一個上,並有單獨的邏輯(主要返回View()或PartialView())?超負荷如何區分?當前的操作是ChildAction嗎?

好的,從另一個角度來看:如何做到這一點,如果它是一個ChildAction然後返回一個PartialView,否則一個完整的View?

回答

44

您可以使用IsChildAction屬性:內部視圖

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

同樣的事情返回partialview `如果(Html.ViewContext.IsChildAction) { 佈局= NULL; }` – Valdars 2015-09-28 13:42:51