Controller.HandleUnknownAction Method

Visual Studio 2010

Called when a request matches this controller, but no method with the specified action name is found in the controller.

Namespace:  System.Web.Mvc
Assembly:  System.Web.Mvc (in System.Web.Mvc.dll)

protected virtual void HandleUnknownAction(
	string actionName
)

Parameters

actionName
Type: System.String
The name of the attempted action.

The result object that is prepared by this method is written to the response by the MVC framework when the object is executed.

A Visual Studio project with source code is available to accompany this topic: Download.

The following example shows how to render views that do not have a matching ActionResult method. For example, if you have a Details.aspx view but no corresponding method exists that returns an ActionResult instance, the following example displays the Details view when a request to for the Details action is made on the controller. If there is no matching view, the error page displays a message. This example shows one way to use the HandleUnknownAction method. Action methods are not required to return an ActionResult object.

protected override void HandleUnknownAction(string actionName) {
    try {
        this.View(actionName).ExecuteResult(this.ControllerContext);
    }
    catch (InvalidOperationException ieox ) {
        ViewData["error"] = "Unknown Action: \"" + 
            Server.HtmlEncode(actionName) + "\"";
        ViewData["exMessage"] = ieox.Message;
        this.View("Error").ExecuteResult(this.ControllerContext);
    }
}  

Community Additions

ADD
Show: