首页C#3.0中的ASP.NET网页全球化与本地化我无法在母版页中使用如下代码进行全球化与本地化。它在代码部分给出错误,“不包含InitializeCulture的定义”protectedoverridevoidInitializeCulture(){if(Request["Language"]!=null){//StringselectedLanguage=Request["Language"];//代码会放在这里}base.InitializeCulture();//base.InitializeCulture给出下一行中提到的错误//不包含InitializeCulture的定义}当我将此代码添加到除master以外的其他页面时,它工作正常。在母版页中使用此代码是否有任何限制。如果我可以在母版页中定义这段代码,那么我就不需要在每个文件中都写这段代码。我做错了什么,我已经包含了用于线程化和全球化的文件,但它在母版页中不起作用您必须在Page类中执行此操作(=overrideInitializeCulture)。它在母版页中不起作用(MasterPage派生自Control,而不是Page)。我建议你实现一个派生自Page的基类,并从该类派生出每个Web表单,然后你也只需编写一次代码。拥有自己的基类总是很方便。在VisualStudio中,添加一个新类PageBase.cs:;UICulture=selectedLanguage;文化=选择的语言;Thread.CurrentThread.CurrentCulture=CultureInfo.CreateSpecificCulture(selectedLanguage);Thread.CurrentThread.CurrentUICulture=newCultureInfo(selectedLanguage);}或将当前文化存储在base.InitializeCulture();下拉列表框,存储在会话中或通过查询字符串传递。我在示例中使用了一个列表框。然后你从这个页面派生你的WebForm,如下:以上是首页的C#学习教程:C#3.0中的ASP.NET网页全球化和本地化更多关于C#的学习教程,希望大家多多关注——公开课Default:FormBase//而不是派生自Page本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
