Table of Contents

Class ActionDescriptor

Namespace
System.Web.Mvc
Assembly
System.Web.Mvc.dll

Provides information about an action method, such as its name, controller, parameters, attributes, and filters.

public abstract class ActionDescriptor : ICustomAttributeProvider
Inheritance
ActionDescriptor
Implements
Derived
Inherited Members

Constructors

ActionDescriptor()

Initializes a new instance of the ActionDescriptor class.

protected ActionDescriptor()

Properties

ActionName

Gets the name of the action method.

public abstract string ActionName { get; }

Property Value

string

The name of the action method.

ControllerDescriptor

Gets the controller descriptor.

public abstract ControllerDescriptor ControllerDescriptor { get; }

Property Value

ControllerDescriptor

The controller descriptor.

UniqueId

Gets the unique ID for the action descriptor using lazy initialization.

public virtual string UniqueId { get; }

Property Value

string

The unique ID.

Methods

Execute(ControllerContext, IDictionary<string, object>)

Executes the action method by using the specified parameters and controller context.

public abstract object Execute(ControllerContext controllerContext, IDictionary<string, object> parameters)

Parameters

controllerContext ControllerContext

The controller context.

parameters IDictionary<string, object>

The parameters of the action method.

Returns

object

The result of executing the action method.

GetCustomAttributes(bool)

Returns an array of custom attributes that are defined for this member, excluding named attributes.

public virtual object[] GetCustomAttributes(bool inherit)

Parameters

inherit bool

true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.

Returns

object[]

An array of custom attributes, or an empty array if no custom attributes exist.

Exceptions

TypeLoadException

The custom attribute type cannot be loaded.

AmbiguousMatchException

There is more than one attribute of type attributeType defined for this member.

GetCustomAttributes(Type, bool)

Returns an array of custom attributes that are defined for this member, identified by type.

public virtual object[] GetCustomAttributes(Type attributeType, bool inherit)

Parameters

attributeType Type

The type of the custom attributes.

inherit bool

true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.

Returns

object[]

An array of custom attributes, or an empty array if no custom attributes of the specified type exist.

Exceptions

TypeLoadException

The custom attribute type cannot be loaded.

AmbiguousMatchException

There is more than one attribute of type attributeType defined for this member.

ArgumentNullException

The attritubeType parameter is null.

GetFilterAttributes(bool)

Gets the filter attributes.

public virtual IEnumerable<FilterAttribute> GetFilterAttributes(bool useCache)

Parameters

useCache bool

true to use the cache, otherwise false.

Returns

IEnumerable<FilterAttribute>

The filter attributes.

GetParameters()

Returns the parameters of the action method.

public abstract ParameterDescriptor[] GetParameters()

Returns

ParameterDescriptor[]

The parameters of the action method.

GetSelectors()

Returns the action-method selectors.

public virtual ICollection<ActionSelector> GetSelectors()

Returns

ICollection<ActionSelector>

The action-method selectors.

IsDefined(Type, bool)

Determines whether one or more instances of the specified attribute type are defined for this member.

public virtual bool IsDefined(Type attributeType, bool inherit)

Parameters

attributeType Type

The type of the custom attribute.

inherit bool

true to look up the hierarchy chain for the inherited custom attribute; otherwise, false.

Returns

bool

true if attributeType is defined for this member; otherwise, false.

Exceptions

ArgumentNullException

The attritubeType parameter is null.