我在我的前端设置了一个设置,我在其中使用标签中的标题标签,以显示带文字的帮助图标。
我想在标签的标题标签中显示我的viewmodel中的值(例如<label title="TitleText">DisplayNameText</label>
)。
我有以下剃刀:
@Html.LabelFor(m=>m.FinancingPayout, new { Class = "infoicon" })
这是我的viewmodel:
[DisplayName("- Udbetaling:")]
public string FinancingPayout { get; set; }
如何在viewmodel上添加属性,以便在标签的title标签中显示?
答案 0 :(得分:2)
看看这个教程,它基本上是你想做的,只是设置一个工具提示而不是标题属性:
正如我在前面的评论中所说,对于通用解决方案,您需要做一些工作,但幸运的是,您可以复制/粘贴教程中的大部分代码。
更新:如果Stephen Muecke说的是真的(并且我认为是),那么如果将接口IMetadataAware
添加到自定义属性,则可以跳过自定义Metadataprovider。它会自动添加到AdditionalValues
。
答案 1 :(得分:1)
试试这个
@Html.LabelFor(m=>m.FinancingPayout, new { @class = "infoicon", title = "TitleText" })
您需要创建一个方法(很可能是一个静态方法),比如这个
LocalizationLogic.cs
public static String GetLocalizedString(String keyName)
{
// you can apply database or from xml file logic here to get the Translated string
switch (keyName)
{
case "TitleText":
return "Localized Title Text";
break;
}
return String.Empty;
}
然后在您的视图中使用此方法
@Html.LabelFor(m=>m.FinancingPayout, new { @class = "infoicon",
title = LocalizationLogic.GetLocalizedString("TitleText") })