CachedModelMetadata<TPrototypeCache> Class

 

Provides a container for cached metadata.

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

Inheritance Hierarchy

System.Object
  System.Web.Mvc.ModelMetadata
    System.Web.Mvc.CachedModelMetadata<TPrototypeCache>
      System.Web.Mvc.CachedDataAnnotationsModelMetadata

Syntax

public abstract class CachedModelMetadata<TPrototypeCache> : ModelMetadata
generic<typename TPrototypeCache>
public ref class CachedModelMetadata abstract : ModelMetadata
[<AbstractClass>]
type CachedModelMetadata<'TPrototypeCache> = 
    class
        inherit ModelMetadata
    end
Public MustInherit Class CachedModelMetadata(Of TPrototypeCache)
    Inherits ModelMetadata

Type Parameters

  • TPrototypeCache
    he type of the container.

Constructors

Name Description
System_CAPS_protmethod CachedModelMetadata<TPrototypeCache>(CachedDataAnnotationsModelMetadataProvider, Type, Type, String, TPrototypeCache)

Constructor for creating real instances of the metadata class based on a prototype.

System_CAPS_protmethod CachedModelMetadata<TPrototypeCache>(CachedModelMetadata<TPrototypeCache>, Func<Object>)

Constructor for creating the prototype instances of the metadata class.

Properties

Name Description
System_CAPS_pubproperty AdditionalValues

Gets a dictionary that contains additional metadata about the model.(Inherited from ModelMetadata.)

System_CAPS_pubproperty Container

A reference to the model's container object. Will be non-null if the model represents a property.(Inherited from ModelMetadata.)

System_CAPS_pubproperty ContainerType

Gets or sets the type of the container for the model.(Inherited from ModelMetadata.)

System_CAPS_pubproperty ConvertEmptyStringToNull

Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.(Overrides ModelMetadata.ConvertEmptyStringToNull.)

System_CAPS_pubproperty DataTypeName

Gets or sets meta information about the data type.(Overrides ModelMetadata.DataTypeName.)

System_CAPS_pubproperty Description

Gets or sets the description of the model.(Overrides ModelMetadata.Description.)

System_CAPS_pubproperty DisplayFormatString

Gets or sets the display format string for the model.(Overrides ModelMetadata.DisplayFormatString.)

System_CAPS_pubproperty DisplayName

Gets or sets the display name of the model.(Overrides ModelMetadata.DisplayName.)

System_CAPS_pubproperty EditFormatString

Gets or sets the edit format string of the model.(Overrides ModelMetadata.EditFormatString.)

System_CAPS_pubproperty HideSurroundingHtml

Gets or sets a value that indicates whether the model object should be rendered using associated HTML elements.(Overrides ModelMetadata.HideSurroundingHtml.)

System_CAPS_pubproperty HtmlEncode

(Overrides ModelMetadata.HtmlEncode.)

System_CAPS_pubproperty IsComplexType

Gets or sets a value that indicates whether the model is a complex type.(Inherited from ModelMetadata.)

System_CAPS_pubproperty IsNullableValueType

Gets a value that indicates whether the type is nullable.(Inherited from ModelMetadata.)

System_CAPS_pubproperty IsReadOnly

Gets or sets a value that indicates whether the model is read-only.(Overrides ModelMetadata.IsReadOnly.)

System_CAPS_pubproperty IsRequired

Gets or sets a value that indicates whether the model is required.(Overrides ModelMetadata.IsRequired.)

System_CAPS_pubproperty Model

Gets the value of the model.(Inherited from ModelMetadata.)

System_CAPS_pubproperty ModelType

Gets the type of the model.(Inherited from ModelMetadata.)

System_CAPS_pubproperty NullDisplayText

Gets or sets the string to display for null values.(Overrides ModelMetadata.NullDisplayText.)

System_CAPS_pubproperty Order

Gets or sets a value that represents order of the current metadata.(Overrides ModelMetadata.Order.)

System_CAPS_pubproperty Properties

Gets a collection of model metadata objects that describe the properties of the model.(Inherited from ModelMetadata.)

System_CAPS_pubproperty PropertyName

Gets the property name.(Inherited from ModelMetadata.)

System_CAPS_protproperty PrototypeCache

Gets or sets the prototype cache.

System_CAPS_protproperty Provider

Gets or sets the provider.(Inherited from ModelMetadata.)

System_CAPS_pubproperty RequestValidationEnabled

Gets or sets a value that indicates whether request validation is enabled.(Inherited from ModelMetadata.)

System_CAPS_pubproperty ShortDisplayName

Gets or sets a short display name.(Overrides ModelMetadata.ShortDisplayName.)

System_CAPS_pubproperty ShowForDisplay

Gets or sets a value that indicates whether the property should be displayed in read-only views such as list and detail views.(Overrides ModelMetadata.ShowForDisplay.)

System_CAPS_pubproperty ShowForEdit

Gets or sets a value that indicates whether the model should be displayed in editable views.(Overrides ModelMetadata.ShowForEdit.)

System_CAPS_pubproperty SimpleDisplayText

Gets or sets the simple display string for the model.(Overrides ModelMetadata.SimpleDisplayText.)

System_CAPS_pubproperty TemplateHint

Gets or sets a hint that suggests what template to use for this model.(Overrides ModelMetadata.TemplateHint.)

System_CAPS_pubproperty Watermark

Gets or sets a value that can be used as a watermark.(Overrides ModelMetadata.Watermark.)

Methods

Name Description
System_CAPS_protmethod ComputeConvertEmptyStringToNull()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null.

System_CAPS_protmethod ComputeDataTypeName()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets meta information about the data type.

System_CAPS_protmethod ComputeDescription()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the description of the model.

System_CAPS_protmethod ComputeDisplayFormatString()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the display format string for the model.

System_CAPS_protmethod ComputeDisplayName()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the display name of the model.

System_CAPS_protmethod ComputeEditFormatString()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the edit format string of the model.

System_CAPS_protmethod ComputeHasNonDefaultEditFormat()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

System_CAPS_protmethod ComputeHideSurroundingHtml()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether the model object should be rendered using associated HTML elements.

System_CAPS_protmethod ComputeHtmlEncode()

System_CAPS_protmethod ComputeIsReadOnly()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether the model is read-only.

System_CAPS_protmethod ComputeIsRequired()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether the model is required.

System_CAPS_protmethod ComputeNullDisplayText()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the cached string to display for null values.

System_CAPS_protmethod ComputeOrder()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that represents order of the current metadata.

System_CAPS_protmethod ComputeShortDisplayName()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a short display name.

System_CAPS_protmethod ComputeShowForDisplay()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether the property should be displayed in read-only views such as list and detail views.

System_CAPS_protmethod ComputeShowForEdit()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that indicates whether the model should be displayed in editable views.

System_CAPS_protmethod ComputeSimpleDisplayText()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets the cached simple display string for the model.

System_CAPS_protmethod ComputeTemplateHint()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached hint that suggests what template to use for this model.

System_CAPS_protmethod ComputeWatermark()

This method is protected and therefore cannot be called directly. This method was designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata.

Gets or sets a cached value that can be used as a watermark.

System_CAPS_pubmethod Equals(Object)

(Inherited from Object.)

System_CAPS_protmethod Finalize()

(Inherited from Object.)

System_CAPS_pubmethod GetDisplayName()

Gets the display name for the model.(Inherited from ModelMetadata.)

System_CAPS_pubmethod GetHashCode()

(Inherited from Object.)

System_CAPS_protmethod GetSimpleDisplayText()

Gets or sets the simple display string for the model.(Overrides ModelMetadata.GetSimpleDisplayText().)

System_CAPS_pubmethod GetType()

(Inherited from Object.)

System_CAPS_pubmethod GetValidators(ControllerContext)

Gets a list of validators for the model.(Inherited from ModelMetadata.)

System_CAPS_protmethod MemberwiseClone()

(Inherited from Object.)

System_CAPS_pubmethod ToString()

(Inherited from Object.)

Remarks

This class assumes that model metadata is expensive to create, and allows the user to stash a cache object that can be copied around as a prototype to make creation and computation quicker. It delegates the retrieval of values to getter methods, the results of which are cached on a per metadata instance basis. This allows flexible caching strategies: either caching the source of information across instances or caching of the actual information itself, depending on what the developer decides to put into the prototype cache.

The ComputeXyz methods in CachedModelMetadata<TPrototypeCache> are designed to be overridden in a deriving class such as CachedDataAnnotationsModelMetadata. The methods ComputeXyz are protected, they can’t be called directly.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

System.Web.Mvc Namespace

Return to top