DisplayExtensions.DisplayFor<TModel, TValue> Method (HtmlHelper<TModel>, Expression<Func<TModel, TValue>>, String, String, Object)

Returns HTML markup for each property in the object that is represented by the specified expression, using the template, an HTML field ID, and additional view data.

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


<ExtensionAttribute> _
Public Shared Function DisplayFor(Of TModel, TValue) ( _
    html As HtmlHelper(Of TModel), _
    expression As Expression(Of Func(Of TModel, TValue)), _
    templateName As String, _
    htmlFieldName As String, _
    additionalViewData As Object _
) As MvcHtmlString
public static MvcHtmlString DisplayFor<TModel, TValue>(
    this HtmlHelper<TModel> html,
    Expression<Func<TModel, TValue>> expression,
    string templateName,
    string htmlFieldName,
    Object additionalViewData
generic<typename TModel, typename TValue>
static MvcHtmlString^ DisplayFor(
    HtmlHelper<TModel>^ html, 
    Expression<Func<TModel, TValue>^>^ expression, 
    String^ templateName, 
    String^ htmlFieldName, 
    Object^ additionalViewData

Type Parameters

  • TModel
    The type of the model.
  • TValue
    The type of the value.


  • templateName
    Type: System.String
    The name of the template that is used to render the object.
  • htmlFieldName
    Type: System.String
    A string that is used to disambiguate the names of HTML input elements that are rendered for properties that have the same name.
  • additionalViewData
    Type: System.Object
    An anonymous object that can contain additional view data that will be merged into the ViewDataDictionary<TModel> instance that is created for the template.

Return Value

Type: System.Web.Mvc.MvcHtmlString
The HTML markup for each property in the object that is represented by the expression.

Usage Note

In Visual Basic and C#, you can call this method as an instance method on any object of type HtmlHelper<TModel>. When you use instance method syntax to call this method, omit the first parameter. For more information, see Extension Methods (Visual Basic) or Extension Methods (C# Programming Guide).


The htmlFieldId parameter is used with HTML input when two properties in the model have the same name. In order to bind two properties that have the same name, the htmlFieldId parameter is used to specify the binding parameter name for each property.

See Also


DisplayExtensions Class

DisplayFor Overload

System.Web.Mvc.Html Namespace