Per eseguire il rendering HTML nella mia vista di modifica, utilizzo l'helper @Html.EditorForModel()
.differenza tra: [ScaffoldColumn (false)] e [Display (AutoGenerateField = false)]
Il mio modello:
[Required(ErrorMessage = "Campo obrigatório")]
[Display(Name = "Nome completo")]
public string Name { get; set; }
[Required(ErrorMessage = "Campo é obrigatório")]
[StringLength(100, ErrorMessage = "A {0} deve ter pelo menos {2} characteres.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Senha")]
public string Password { get; set; }
[DataType(DataType.Password)]
[Display(Name = "Confirmar senha")]
[Compare("Password", ErrorMessage = "A nova senha e a confirmação da senha não conincidem.")]
public string ConfirmPassword { get; set; }
[Required(ErrorMessage = "Campo obrigatório")]
[Display(Name = "Convidado")]
[UIHint("IsGuest")]
public bool IsGuest { get; set; }
[RequiredIf("IsGuest", true, ErrorMessage = "Campo é obrigatório")]
[ScaffoldColumn(false)]
public string CodeGuest { get; set; }
Proprietà: CodeGuest
non dovrebbe essere creato dal aiutante @Html.EditorForModel()
. (Vorrei creare manualmente.)
Leggendo su Internet, ho trovato diversi punti e vorrei sapere la differenza.
Ricordando che io non voglio che sia nascosto, questo campo verrà creato solo da questo
EditorTemplates (IsGuest.cshtml):
@using BindSolution.AndMarried.Model;
@model BindSolution.AndMarried.Models.RegisterModel
@Html.EditorFor(e => e.IsGuest)
<span>TESTE</span>
@Html.EditorFor(e => e.CodeGuest)
Domanda:
Cosa è la differenza tra: [ScaffoldColumn (false)]
e [Display (AutoGenerateField = false)]
Perché non può Faccio [Display (AutoGenerateField = false)] have the effect: 'do not generate the HTML field when calling
@ Html.EditorForModel() `.