为了账号安全,请及时绑定邮箱和手机立即绑定

呈现包含存储在资源文件中的 HTML 的显示名称

呈现包含存储在资源文件中的 HTML 的显示名称

C#
aluckdog 2022-10-23 16:16:49
我需要呈现一个存在于资源文件中的 HTML 链接[Display(Name = "MyPropertyName" ResourceType = typeof(Res.Props))]public bool MyProperty{ get; set; }MyPropertyName 资源有一些 HTML:"Click <a href="bla.com">here</a> to find out more."我需要在视图上呈现它,以便链接是可点击的。尽管我尝试了哪种方法,HTML 将永远不会呈现,一些尝试(不是确切的语法,但你明白了要点)将显示原始 HTML,而有些则根本不显示任何内容。var htmlLabel = Html.LabelFor(m => m."MyPropertyName" ).ToString()Html.Raw(htmlLabel)Html.Raw(Html.LabelFor(m => m."MyPropertyName" ).ToString())Html.Raw(Html.LabelFor(m => m."MyPropertyName")MvcHtmlString.Create(htmlLabel);Html.Raw(MvcHtmlString.Create(htmlLabel))等等我发现了一个在控制器上获取属性信息并通过 ViewBag 传递它然后用 HTML.Raw 渲染它的建议,所以我在这里(以及其他一些)遵循了这个,但该代码只提取了属性的名称“ MyPropertyName”,而不是资源文件中的字符串。有任何想法吗?谢谢。
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

好吧,在最后一次愚蠢的尝试之后,这突然决定起作用。对于将来遇到此类问题的任何人:


该应用程序有一个StronglyTypedResourceBuilder包含我需要的所有数据的类。所以以下工作没有问题:


@using StringResources = Namespace.Resources.StringResources


...


@Html.CheckBoxFor(m => m.MyPropertyName)

@Html.Raw(@StringRes.MyPropertyName)


...

真是浪费了一个上午。


查看完整回答
反对 回复 2022-10-23
  • 1 回答
  • 0 关注
  • 63 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信