Export (0) Print
Expand All

CachedModelMetadata(TPrototypeCache) Class

Provides a container for cached metadata.

System.Object
  System.Web.Mvc.ModelMetadata
    System.Web.Mvc.CachedModelMetadata(TPrototypeCache)
      System.Web.Mvc.CachedDataAnnotationsModelMetadata

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

JScript does not support generic types and methods.

Type Parameters

TPrototypeCache

he type of the container.

The CachedModelMetadata(TPrototypeCache) type exposes the following members.

  NameDescription
Protected methodCachedModelMetadata(TPrototypeCache)(CachedModelMetadata(TPrototypeCache), Func(Object))Constructor for creating the prototype instances of the metadata class.
Protected methodCachedModelMetadata(TPrototypeCache)(CachedDataAnnotationsModelMetadataProvider, Type, Type, String, TPrototypeCache)Constructor for creating real instances of the metadata class based on a prototype.
Top

  NameDescription
Public propertyAdditionalValuesGets a dictionary that contains additional metadata about the model. (Inherited from ModelMetadata.)
Public propertyContainerTypeGets or sets the type of the container for the model. (Inherited from ModelMetadata.)
Public propertyConvertEmptyStringToNullGets or sets a cached value that indicates whether empty strings that are posted back in forms should be converted to null. (Overrides ModelMetadata.ConvertEmptyStringToNull.)
Public propertyDataTypeNameGets or sets meta information about the data type. (Overrides ModelMetadata.DataTypeName.)
Public propertyDescriptionGets or sets the description of the model. (Overrides ModelMetadata.Description.)
Public propertyDisplayFormatStringGets or sets the display format string for the model. (Overrides ModelMetadata.DisplayFormatString.)
Public propertyDisplayNameGets or sets the display name of the model. (Overrides ModelMetadata.DisplayName.)
Public propertyEditFormatStringGets or sets the edit format string of the model. (Overrides ModelMetadata.EditFormatString.)
Public propertyHideSurroundingHtmlGets or sets a value that indicates whether the model object should be rendered using associated HTML elements. (Overrides ModelMetadata.HideSurroundingHtml.)
Public propertyIsComplexTypeGets or sets a value that indicates whether the model is a complex type. (Inherited from ModelMetadata.)
Public propertyIsNullableValueTypeGets a value that indicates whether the type is nullable. (Inherited from ModelMetadata.)
Public propertyIsReadOnlyGets or sets a value that indicates whether the model is read-only. (Overrides ModelMetadata.IsReadOnly.)
Public propertyIsRequiredGets or sets a value that indicates whether the model is required. (Overrides ModelMetadata.IsRequired.)
Public propertyModelGets the value of the model. (Inherited from ModelMetadata.)
Public propertyModelTypeGets the type of the model. (Inherited from ModelMetadata.)
Public propertyNullDisplayTextGets or sets the string to display for null values. (Overrides ModelMetadata.NullDisplayText.)
Public propertyOrderGets or sets a value that represents order of the current metadata. (Overrides ModelMetadata.Order.)
Public propertyPropertiesGets a collection of model metadata objects that describe the properties of the model. (Inherited from ModelMetadata.)
Public propertyPropertyNameGets the property name. (Inherited from ModelMetadata.)
Protected propertyPrototypeCacheGets or sets the prototype cache.
Protected propertyProviderGets or sets the provider. (Inherited from ModelMetadata.)
Public propertyRequestValidationEnabledGets or sets a value that indicates whether request validation is enabled. (Inherited from ModelMetadata.)
Public propertyShortDisplayNameGets or sets a short display name. (Overrides ModelMetadata.ShortDisplayName.)
Public propertyShowForDisplayGets 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.)
Public propertyShowForEditGets or sets a value that indicates whether the model should be displayed in editable views. (Overrides ModelMetadata.ShowForEdit.)
Public propertySimpleDisplayTextGets or sets the simple display string for the model. (Overrides ModelMetadata.SimpleDisplayText.)
Public propertyTemplateHintGets or sets a hint that suggests what template to use for this model. (Overrides ModelMetadata.TemplateHint.)
Public propertyWatermarkGets or sets a value that can be used as a watermark. (Overrides ModelMetadata.Watermark.)
Top

  NameDescription
Protected methodComputeConvertEmptyStringToNullThis 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 a null reference (Nothing in Visual Basic).
Protected methodComputeDataTypeNameThis 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.
Protected methodComputeDescriptionThis 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.
Protected methodComputeDisplayFormatStringThis 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.
Protected methodComputeDisplayNameThis 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.
Protected methodComputeEditFormatStringThis 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.
Protected methodComputeHideSurroundingHtmlThis 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.
Protected methodComputeIsReadOnlyThis 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.
Protected methodComputeIsRequiredThis 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.
Protected methodComputeNullDisplayTextThis 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.
Protected methodComputeOrderThis 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.
Protected methodComputeShortDisplayNameThis 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.
Protected methodComputeShowForDisplayThis 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.
Protected methodComputeShowForEditThis 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.
Protected methodComputeSimpleDisplayTextThis 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.
Protected methodComputeTemplateHintThis 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.
Protected methodComputeWatermarkThis 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.
Public methodEquals (Inherited from Object.)
Protected methodFinalize (Inherited from Object.)
Public methodGetDisplayNameGets the display name for the model. (Inherited from ModelMetadata.)
Public methodGetHashCode (Inherited from Object.)
Protected methodGetSimpleDisplayTextGets or sets the simple display string for the model. (Overrides ModelMetadata.GetSimpleDisplayText().)
Public methodGetType (Inherited from Object.)
Public methodGetValidatorsGets a list of validators for the model. (Inherited from ModelMetadata.)
Protected methodMemberwiseClone (Inherited from Object.)
Public methodToString (Inherited from Object.)
Top

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.

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