ViewLocalizer不返回String

时间:2017-10-23 14:30:08

标签: asp.net-core

在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这不奇怪吗?我错过了什么?

1 个答案:

答案 0 :(得分:0)

  

您应该调用Value属性而不是......

Localizer["my title"].Value

这是因为Localizer["foo"]会返回LocalizedHtmlString类型。

LocalizedHtmlString类

public class LocalizedHtmlString : Microsoft.AspNetCore.Html.IHtmlContent

此类没有内置字符串的转换器。另外,我想知道为什么你说ToString()对你有用。我认为它应该返回Microsoft.AspNetCore.Mvc.Localization.LocalizedHtmlString而不是正确的值。