2017-01-18 5 views
0

私はasp.netコア剃刀エンジンエンティティフレームワークを使用しています。入力ボックスに「ここで値を入力してください」というデフォルト値を設定しようとしています。私.cshtmlファイルで
は、私は私のModel.Auction用からasp.netを使用して入力ボックスに値を表示するためのタグヘルパー

@model login.Models.Auction 
<form asp-controller="NewAuction" asp-action="New" method="post" role="form"> 
     <input asp-for="Bid" value = "Enter value here"/> 
     <button type="submit">Bid</button> 
</form> 

コードを持っています。

[Range(1,int.MaxValue)] 
    [Display(Name = "Enter value here")] 
    public int Bid { get; set; } 

答えて

3

ビューモデルにあなたの財産のNULL可能になった後:

<input asp-for="Bid" placeholder="Enter value here" /> 

今すぐ対応するコントローラのアクションが合格しなかったと仮定:

[Range(1,int.MaxValue)] 
[Display(Name = "Enter value here")] 
public int? Bid { get; set; } 

あなたがplaceholder属性を使用することができますビューモデルのこのプロパティの値:

var viewModel = new Auction 
{ 
    Bid = null, 
}; 
return View(viewModel); 

あなたは、所望の出力を取得します。値は、あなたのビューモデルにBidプロパティに割り当てられている場合、この値は、対応するinputタグに表示されます

enter image description here

を。

2

私はカミソリの拡張とそのような財産「@プレースホルダ」HTML5のために使用します。

@Html.EditorFor(model => model.Value, new {htmlAttributes = new { @placeholder = "Enter value here"}}) 

私はあなたがHTML属性「プレースホルダ」を探していると思います。

これは何も特別なASP.NET COREではなく、ちょうどhtmlのものです

関連する問題