gpt4 book ai didi

c# - 如何将所选区域性传递到 InitializeCulture() 方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:04:47 24 4
gpt4 key购买 nike

我有一个登录页面,用户可以在其中通过单选按钮选择他的语言,登录后用户将被重定向到 Default.aspx,我在其中使用以下方法设置页面文化:

<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%>
<%@ Import Namespace="System.Resources" %>
<% @Import Namespace="System.Globalization" %>
<% @Import Namespace="System.Threading" %>
<script runat=server>
protected override void InitializeCulture()
{
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Session["lang"].ToString());
Thread.CurrentThread.CurrentUICulture = new CultureInfo(Session["lang"].ToString());
base.InitializeCulture();
}
</script>

如何将登录页面中选择的语言传递给 Default.aspx 页面中的此方法?我试图通过 session 传递它,但出现此错误:

System.NullReferenceException: 'Object reference not set to an instance of an object.' System.Web.SessionState.HttpSessionState.this[string].get returned null.

因为此方法发生在启动任何控件或 session 之前的早期阶段,这就是它返回 null 的原因。知道如何将选定的区域性传递给此方法吗?

最佳答案

在您的代码中,“lang”被加载到 Session 中的什么地方?

我相信这是在告诉您“lang”在 SessionState 中不存在,而 SessionState 本身不可用。

关于c# - 如何将所选区域性传递到 InitializeCulture() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44233581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com