Thread.CurrentThread.CurrentCulture and ajax

4
如果我在PageLoad方法中设置Thread.CurrentThread.CurrentCulture,并调用后端代码,则会发现我在PageLoad中设置的区域设置,但是如果我使用$.ajax() 调用[WebMethod],则区域设置为默认设置,而不是我在PageLoad 中设置的那个。我认为这是因为两个调用位于两个不同的线程中。
我想知道是否有一种方式可以设置区域设置,以便在两种情况下都能找到设置的区域设置。

1
你尝试过在WebMethod的开头设置Thread.CurrentThread.CurrentCulture吗?WebMethod是Web服务的一部分,页面是网站的一部分 - 在同一个服务中托管的两个不同的东西。 - Peter Ritchie
1
这可能有效,但在WebMethod的开头,我不知道如何设置它,我丢失了信息。换句话说,我需要检索在PageLoad中设置的内容。我宁愿不使用cookie... - Pietro
2个回答

4
如果不同的页面负载可以具有不同的文化信息,则可能会出现问题。WebMethod 不知道哪个页面正在使用该方法(或者是否有页面在使用它——它只是一个 Web 服务方法,任何人都可以调用它)。
我建议发送文化不变的信息,然后让页面为其所知的文化格式化信息。
否则,您可能需要将文化信息传递给 Web 方法。

-1
在 WebMethod 开始时设置 Thread.CurrentThread.CurrentCulture 对我很有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接