有没有办法改变我的占位符只是读取我的模型的显示名称属性?

时间:2016-06-17 14:40:21

标签: asp.net-mvc razor

有没有办法将我的占位符更改为只读取模型的显示名称属性?

目前我有这行代码。

@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 })

2 个答案:

答案 0 :(得分:1)

这似乎可以解决问题...

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

答案 1 :(得分:0)

保持模型相同:

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

然后为类型字符串创建一个EditorTemplate,您可以对任何类型执行此操作:

@model string

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

然后调用您的模板

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

希望这有帮助。