.netコアにmvcアプリケーションを作成していますが、ローカリゼーションに問題があります。グリッドビューにIViewLocalizerを追加する方法がわかりません。ここに私のコードは次のとおりです。私は表現model.EmployeeId
の内側に挿入するために{}
を使用する場合.Net Core Localization View:Linq式内のIViewLocalizer
@using NonFactors.Mvc.Grid;
@using Microsoft.AspNetCore.Mvc.Localization
@inject IViewLocalizer Localizer
@model IEnumerable<WeegreeEmployeeFormsCore.Models.Employee>
@(Html
.Grid(Model)
.Build(columns =>
{
columns.Add(model => model.Name).Titled(Localizer["Name"]).Sortable(true).Filterable(true);
columns.Add(model => model.Surname).Titled(Localizer["Surname"]).Sortable(true).Filterable(true);
columns.Add(model => model.EmploymentDate).Titled(Localizer["Hired"]).Sortable(true).Filterable(true);
columns.Add(model => model.Country).Titled(Localizer["Country"]).Filterable(true).Sortable(true).Filterable(true);
columns.Add(model => model.EmploymentForm).Titled(Localizer["EmploymentForm"]).Filterable(true);
columns.Add(model => $"<a href=\"{Url.Action("Edit", "Form")}/{model.EmployeeId}\">{Localizer["Edit"]}</a>").Encoded(false);
columns.Add(model => $"<a href=\"{Url.Action("Details", "Form")}/{model.EmployeeId}\">Details</a>").Encoded(false);
})
.Pageable(pager =>
{
pager.PagesToDisplay = 10;
pager.CurrentPage = 1;
pager.RowsPerPage = 10;
})
.Sortable()
.Empty("No data found")
)
それは動作します - リンクが稼働しているが、私は碑文Edit/Edytuj/змінити etc
を取得するためにローカライザを使用したいとき。代わりに私は私の見解ではこれを得た: IViewLocalizer["Foo"]
ではなく、文字列のLocalizedHtmlString
を返すためですMicrosoft.AspNetCore.Mvc.Localization.LocalizedHtmlString
は、それが完璧に動作、ありがとうございました:)私の意見で – tuchy
マイクロソフトのミスのように感じているならば、これは実際には、設計によるものです。 [documentation](https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization)で説明されていません。 –