In ASP.Net MVC geben Controller immer eine Instanz der Klasse ActionResult bzw eine Instanz der Child-Klassen
- ContentResult
- EmptyResult
- FileResult
- HttpUnauthorizedResult
- JavaScriptResult
- JsonResult
- RedirectResult
- RedirectToRouteResult
- ViewResultBase
zurück. Doch die ASP.Net MVC Runtime kann auch mit anderen Objekten umgehen. Kann die Runtime dass Ergebnis der Controller Action jedoch nicht als ActionResult identifizieren, wird die ToString() Methode des zurückgegebenen Typs aufgerufen und dessen Ergebnis in ein neues ContentResult Objekt verpackt, welches dann den Weg zur View weitergeht.