rBa*_*zer 3 c# razor asp.net-core-mvc asp.net-core
我正在建立一个多种语言的网站,并希望asp-action根据语言进行定制。这个想法是,英语版本中的 URL 类似于,/en/feedback而德语版本中的 URL 应该是/de/gaestestimmen。
我已经尝试过以下方法:
<a asp-controller="Home"
asp-action="@Localizer["navKontakt"]"
asp-route-lang="@CultureInfo.CurrentCulture.TwoLetterISOLanguageName">
@Localizer["navFeedback"]
</a>
Run Code Online (Sandbox Code Playgroud)
Localizer 在第二个实例中返回正确的文本,但不是asp-action- 它返回:
“ Microsoft.AspNetCore.Mvc.Localization.LocalizedHtmlString”而不是预期的字符串。
如果我只是输入asp-action="Feedback"它就可以正常工作。
有人知道我如何才能完成这项工作吗?
找到了答案。由于本地化程序返回 LocalizedHtmlString (它是一个对象而不是字符串),因此我必须添加 .Value 以获取字符串形式的值。
asp-action="@Localizer["navKontakt"].Value"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1860 次 |
| 最近记录: |