Да, это так.
Более того, шаблон по умолчанию будет отображать это поле в точности так, как вы написали, если вы используете расширения Display Html и связанную ViewModel.Просто украсьте поле в модели с правильным атрибутом DataType
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
. Для получения дополнительной информации см. этот ряд series.
EDIT :
Предположим, у вас есть следующая ViewModel
public class CustomerModel {
public string CustomerName { get; set; }
[DataType(DataType.EmailAddress)]
public string EmailAddress { get; set; }
}
, а внутри вашего контроллера следующее действие
[HttpGet]
public ActionResult ViewCustomer( int id ) {
CustomerModel cm = LoadCustomerByID( id );
return View( cm );
}
, вы можете иметь представление с именем Viewcustomer.aspx со строгим типомк экземпляру CustomerModel и просто иметь этот код в представлении
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MyApp.CustomerModel>" %>
<asp:Content ContentPlaceHolderID="MainContent" runat="server">
<%= Html.DisplayForModel() %>
</asp:Content>
Пожалуйста, возьмите кофе и получите время, чтобы прочитать эту серию статей.Это очень просто и может адресовать больше, чем я пытаюсь написать в этом небольшом посте.;)
Надеюсь, это поможет!