Is it possible to set type of input generated by TextBoxFor
Try to use
@Html.TextBoxFor(m => m.Email, new { @type = "email" })
http://msdn.microsoft.com/en-us/library/ee703538.aspx (htmlAttributes)
You're using it the wrong way.
Use EditorFor in View:
@Html.LabelFor(m => m.Email)
@Html.EditorFor(m => m.Email)
In model, add the [DataType( DataType.EmailAddress )]
Data Annotations property:
[DataType( DataType.EmailAddress )]
public string Email { get; set; }