2016-06-17 4 views
0

プレースホルダを変更してモデルの表示名属性を読み取る方法はありますか?プレースホルダを変更してモデルの表示名属性を読み取る方法はありますか?

現在、私はこのコード行を持っています。

@Html.TextBoxFor(x => x.Address1, new { @class = "form-control text-center", @placeholder = "Address Line 1" }) 

プレースホルダは、自分のモデルにあるdisplayname属性を使用することをお勧めします。

[Display(Name = "Address Line 1")] 
public string Address1 { get; set; } 

リビジョン: しようとしましたが、表示するプレースホルダを得ていません。

@Html.TextBoxFor(x => x.Address1, new { @class = "form-control text-center", @placeholder = ViewData.ModelMetadata.DisplayName }) 

答えて

1

これはトリックを行うように見えます...

@Html.TextBoxFor(x => x.Address1, new { @class = "form-control text-center", @placeholder = @Html.DisplayNameFor(x => x.Address1) }) 
0

同じモデルをしてください:

@model string 

@Html.TextBoxFor(x => x, new { @Placeholder = ViewData.ModelMetadata.DisplayName }) 

そして

テンプレートを呼び出します。そして、文字列型のためEditorTemplateを作成し、あなたがどのようなタイプのためにこれを行うことができます
[Display(Name = "Address Line 1")] 
public string Address1 { get; set; } 

@Html.EditorFor(x => x.Address1) 

希望これは役に立ちます。

+0

うーん...かなりの注意を参照してください...それが仕事を得ることができません – PrivateJoker

関連する問題