2017-09-26 16 views
0
私はこのように、一つのフィールドにデフォルト値を持つフォームを作成したい

ASP.NET MVC DataAnnotation - NullTextFormat

public class ApplicationDriverLicenseVM 
{ 
    [Required] 
    [Display(Name = "CDL Expiration Date")] 
    [DisplayFormat(ConvertEmptyStringToNull = true, NullDisplayText = "MM/DD/YYYY")] 
    public DateTime? CDLExpDate { get; set; } 
:私は私の見解モデルクラスを作成し

enter image description here

と表示(足場による):

<div class="form-group"> 
     @Html.LabelFor(model => model.CDLExpDate, htmlAttributes: new { @class = "control-label col-md-2" }) 
     <div class="col-md-10"> 
      @Html.EditorFor(model => model.CDLExpDate, new { htmlAttributes = new { @class = "form-control" } }) 
      @Html.ValidationMessageFor(model => model.CDLExpDate, "", new { @class = "text-danger" }) 
     </div> 
    </div> 

しかし結果としてデフォルトのテキストは表示されません再:

enter image description here

なぜ、私が間違って何をすべきか?

+2

私はあなたがプレースホルダを探している可能性がありと信じています。プレースホルダー= "MM/DD/YYYY"} ' – Nkosi

+1

' NullDisplayText'は、 '@ Html.DisplayFor()'を使用する場合にのみ尊重されます。 'new {htmlAttributes = new {@class =" form-control " –

答えて

1

NullDisplayTextしかないHtml.EditorForに、Html.DisplayForに示されています。

あなたは、HTML要素のplaceholder属性を使用し、EditorForhtmlAttributes対象に追加することができます

@Html.EditorFor(model => model.CDLExpDate, new { 
     htmlAttributes = new { 
      @class = "form-control", 
      @placeholder = "MM/DD/YYYY" 
     } 
}) 
関連する問題