用户控制全球化

发布于 2024-07-17 13:41:36 字数 135 浏览 3 评论 0原文

您好,如何在用户控件上设置文化信息? 我已经设置了资源文件,但无法覆盖 InitializeCulture(),因为它在 System.Web.UI.UserControl 中不可用。 有人能指出我正确的方向吗? 我想以编程方式做到这一点。 谢谢。

Hi how can I set culture information on a user control? I have set up the resource file but I am unable to override the InitializeCulture() as it is not available in System.Web.UI.UserControl. Can someone point me in the right direction? I want to this programatically. Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事和酒 2024-07-24 13:41:36

在用户控件的 PageLoad 事件中,您可以设置当前线程的区域性:

Me.Culture = "en-US"

此后的任何内部框架调用都将使用该线程的当前区域性设置,因此例如 Convert.ToDouble() 调用将在此处工作:

Me.Culture = "en-US"
Dim num as Double = Convert.ToDouble("1,000.50")

。 ..但这不起作用:

Dim num as Double = Convert.ToDouble("1.000,50")

... 如果我们将区域性设置为加拿大法语:

Me.Culture = "fr-CA"
Dim num as Double = Convert.ToDouble("1.000,50")

... 这将起作用并正确解析字符串,因为加拿大法语区域的默认小数分隔符是逗号。

In the PageLoad event of your user control you can set the culture of the current thread:

Me.Culture = "en-US"

Any internal framework calls after this point will use the current culture set for this thread, so for example the Convert.ToDouble() call will work here:

Me.Culture = "en-US"
Dim num as Double = Convert.ToDouble("1,000.50")

...but this would not work:

Dim num as Double = Convert.ToDouble("1.000,50")

... if we set the culture to French Canadian:

Me.Culture = "fr-CA"
Dim num as Double = Convert.ToDouble("1.000,50")

... this will work and correctly parse the string because the default decimal separator for the French Canadian culture is a comma.

心安伴我暖 2024-07-24 13:41:36

您需要更改当前线程的文化

Yo need to change the culture of the current thread

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文