編集ビューでHTMLをレンダリングするには、ヘルパー@Html.EditorForModel()
を使用します。の違い:[ScaffoldColumn(false)]と[Display(AutoGenerateField = false)]
マイモデル:
[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; }
プロパティ:CodeGuest
は、ヘルパー@Html.EditorForModel()
によって作成されるべきではありません。 (私は手動で作成したいと思います)。
インターネットで読むと、いくつかの点がありましたが、その違いを知りたいと思います。
@using BindSolution.AndMarried.Model;
@model BindSolution.AndMarried.Models.RegisterModel
@Html.EditorFor(e => e.IsGuest)
<span>TESTE</span>
@Html.EditorFor(e => e.CodeGuest)
が質問:
私はそれを隠すことがしたくないことを思い出し、このフィールドはこれだけ
EditorTemplates(IsGuest.cshtml)によって作成されます
[ScaffoldColumn (false)]
と[Display (AutoGenerateField = false)]
なぜできないのですか? @ Html.EditorForModel() `を[Display (AutoGenerateField = false)] have the effect: 'do not generate the HTML field when calling
にします。