2011-09-14 16 views
13

Potansiyel olarak normal bir bağlantı yoluyla çağrılabilecek bir eylemim var, bu durumda bir View() döndürürdüm veya AJAX veya RenderAction (örn. Çocuk Eylemi) yoluyla da çağrılabilir. d bir PartialView() döndürür.Eylemimin RenderAction tarafından çağrılıp çağrılmadığını nasıl anlarım?

AJAX parçasını ayırmak kolaydır - ancak eylemimin bir Çocuk Eylemi olarak oluşturulup oluşturulmadığını nasıl test edebilirim?

İdeal olarak, bu gibi bir kod yazabilmek istiyorum: Request.IsChildAction() yok Açıkçası

if (Request.IsAjaxRequest() || Request.IsChildAction()) 
    return PartialView(); 

return View(); 

- şey var simlilar, yoksa sadece bir oluşturmam gerekir mi Her zaman bir PartialView döndüren özel ChildAction?

cevap

33

Neredeyse vardı:

public ActionResult Foo() 
{ 
    if (Request.IsAjaxRequest() || ControllerContext.IsChildAction) 
    { 
     return PartialView(); 
    } 
    return View(); 
} 
+0

teşekkürler - söylemenin hiçbir yolu yoktu düşünmeye başlamıştım – StanK

İlgili konular