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

我需要呈现一个存在于资源文件中的 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”,而不是资源文件中的字符串。


有任何想法吗?谢谢。


aluckdog
浏览 64回答 1
1回答

喵喔喔

好吧,在最后一次愚蠢的尝试之后,这突然决定起作用。对于将来遇到此类问题的任何人:该应用程序有一个StronglyTypedResourceBuilder包含我需要的所有数据的类。所以以下工作没有问题:@using StringResources = Namespace.Resources.StringResources...@Html.CheckBoxFor(m => m.MyPropertyName)@Html.Raw(@StringRes.MyPropertyName)...真是浪费了一个上午。
打开App,查看更多内容
随时随地看视频慕课网APP