ASP.NET MVC 4 Editor Template for basic types

Editor templates work by convention. The name of the template must match the name of the type. So for example if SomeValue is an int type you could write a custom editor template at ~/Views/Shared/EditorTemplates/Int32.cshtml which will be used. In this case all integer types will use this custom template when you write @Html.EditorFor(model => model.SomeValue).

If you don't want to override all templates for integer types you could write a specific named template ~/Views/Shared/EditorTemplates/Number.cshtml that you could use only for some properties by specifying this template name as second argument to the EditorFor helper: @Html.EditorFor(model => model.SomeValue, "Number") or by decorating your view model property with the [UIHint] attribute:

[UIHint("Number")]
public int SomeValue { get; set; }

and then simply using @Html.EditorFor(model => model.SomeValue) will render the Number.cshtml custom template.

I would also recommend you reading Brad Wilson's blog post about the default templates in ASP.NET MVC.


In your Editor Template, you must have the same type Example :

model.SomeValue is type of loremIpsumObject

In your EditorTemplate you are :

  @model YourNamespaceWhereIsYourClass.loremIpsumObject
  ...And your code in your editorTemplate....

you can find an example here for datetime

It helps you ?