2011-01-06 6 views
6

Gibt es eine Möglichkeit zu bestimmen, ob ein Aufruf einer Controller-Aktion aus einer Sicht mit der Html.RenderAction-Funktion ist.Ermitteln, ob Call to Action aus einer Sicht stammt

Dies ähnelt Request.IsAjaxRequest. Wenn der Aufruf von einer Ansicht kommt, möchte ich nur eine Teilansicht rendern, anstatt die Vollansicht mit der Masterseite.

BTW Teil Render ist keine praktikable Lösung, wie die Aktion zusätzliche Daten

Antwort

9

holt die ControllerContext.IsChildAction Mit der gegebenen Wirkung hat. So kann ich die gleiche HTML mit einem Kind Aktion und eine Ajax-Anforderung zur Verfügung stellen kann (für Rückfall auf nicht javascript Benutzer)

 if (Request.IsAjaxRequest() || ControllerContext.IsChildAction) 
      return PartialView("ViewName", results); 
+0

Dank für diese Frage und Antwort es sinnvoll ist, brauchte ich dies in einer Ansicht zu überprüfen, so dass ich verwendet ViewContext.IsChildAction –

Verwandte Themen