Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否将货币、日历更改为所选语言,而不是asp.net中的标签?_C#_Asp.net_Globalization - Fatal编程技术网

C# 是否将货币、日历更改为所选语言,而不是asp.net中的标签?

C# 是否将货币、日历更改为所选语言,而不是asp.net中的标签?,c#,asp.net,globalization,C#,Asp.net,Globalization,我有一个带有日历的网页,一个用来保存货币值的标签,还有一个用来打招呼的标签。当我从下拉列表中选择语言时,它会更改货币标签、日历,但hello不会更改。以下是aspx页面和cs文件的精简代码: ASPX: 呃。。。你到底希望发生什么?货币和日期具有基于区域设置的内置格式。你想让ASP.NET为你做语言翻译?!?对不起,你在那件事上运气不好。:)我错过了你的意图吗 一些进一步的建议。。。避免这样的代码: string language = Request["ddlLanguages"]; 这不好。

我有一个带有日历的网页,一个用来保存货币值的标签,还有一个用来打招呼的标签。当我从下拉列表中选择语言时,它会更改货币标签、日历,但hello不会更改。以下是aspx页面和cs文件的精简代码:

ASPX:


呃。。。你到底希望发生什么?货币和日期具有基于区域设置的内置格式。你想让ASP.NET为你做语言翻译?!?对不起,你在那件事上运气不好。:)我错过了你的意图吗

一些进一步的建议。。。避免这样的代码:

string language = Request["ddlLanguages"];
这不好。。。这只是请求对象特性的一个副作用,一旦您将此代码放入命名容器(如内容页)中,它就会很快失效。改为这样做:

string language = ddlLanguages.SelectedValue;

如果希望标签本地化,则需要研究如何为字符串使用本地化的资源文件(这就是“不使用字符串文字”最佳实践的来源)

您需要手动翻译希望本地化的文本,并将这些字符串编译成特定于语言的资源文件,然后可以通过中的对象方法访问该文件


谢谢,我从我观看的视频中获取了示例。我以前从未实际使用过Request。我相信此人说他们使用了Request,因为该值可能在运行时未初始化,SelectetdValue将抛出错误。
string language = Request["ddlLanguages"];
string language = ddlLanguages.SelectedValue;
// Create a resource manager to retrieve resources.
ResourceManager rm = new ResourceManager("items", 
        Assembly.GetExecutingAssembly());

// Retrieve the value of the string resource named "hello".
// The resource manager will retrieve the value of the  
// localized resource using the caller's current culture setting.
String hello = rm.GetString("hello");
lblHello.Text = hello;