在ASP.NET Core 2.0上,我有以下内容:
@ViewData.Title("my title");
Title是一个ViewData扩展,它将带有键标题的“我的标题”添加到ViewData。
这是有效的,但我需要本地化标题,所以我做了以下几点:
@inject IViewLocalizer Localizer
@ViewData.Title(Localizer["my title"]);
但是我收到以下错误:
Cannot convert from 'Microsoft.AspNetCore.Mvc.Localization.LocalizedHtmlString' to 'string'
我需要调用ToString这不奇怪吗?我错过了什么?
答案 0 :(得分:0)
您应该调用
Value
属性而不是......Localizer["my title"].Value
这是因为Localizer["foo"]
会返回LocalizedHtmlString
类型。
public class LocalizedHtmlString : Microsoft.AspNetCore.Html.IHtmlContent
此类没有内置字符串的转换器。另外,我想知道为什么你说ToString()
对你有用。我认为它应该返回Microsoft.AspNetCore.Mvc.Localization.LocalizedHtmlString
而不是正确的值。