【发布时间】:2021-11-19 08:40:50
【问题描述】:
我尝试使用 razor pages 和 PageModels(没有控制器)更改 asp.net 核心中的语言,但问题是我的本地化仅适用于 Pages/Index Page。当我尝试在其他页面上切换语言时,它由他们的 OnPost 方法处理并获得 NullPointer。
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
@foreach (var culture in cultureItems)
{
<form id="selectLanguage" asp-page="/" asp-route-returnUrl="@Context.Request.Path"
method="post" class="form-horizontal" role="form">
<input class="dropdown-item waves-effect waves-light" type="submit" name="culture" value="@culture.Value" />
</form>
}
</div>
我的处理方法:
public void OnPost(string culture, string returnUrl)
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture(culture)),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
);
return LocalRedirect(returnUrl ?? "/");
}
【问题讨论】:
标签: asp.net-core localization razor-pages