多语言开发中遇到的问题

站点有中英文版本,其界面元素都一样。只是相应的文字信息区分了中文和英文,目前我把相关的信息都放在资源文件中,
然后网页中有两个按钮来让用户选择是中文还是英文,目前我的做法是:
当用户选择中文的时候,我用Session来保存一个中文类的实例对象,这个实例主要是获取中文版本中的资源,选择英文的时候一样放在Session中,部分代码如下:
但是现在碰到一个问题,我在A这台机器和B机器都打开网页,无论谁变换了语言版本,则另一台也跟着变了,如:A机器当前是中文,B机器切换为英文的时候,刷新一下A机器上的页面就也变成英文了。
不知道哦,只要有一个客户端改了,其他的都也跟着变

不好意思,久没有上来了,3.5编译,能详细些吗?是的,是我本人的照片,怎么了?

最好的解决方案,是找到那一段代码,用替代的代码来解决这个问题

将程序集增加到GAC,只要升级对应版本程序,永远不会不兼容。就是强签名+版本不相同,每个版本都有自己强签名和版本号

我的版本是v2.0.50727,这个版本下就可以正常运行,如果用微软件那个升级的版本.net 3.5就出错了。看了你的博客,那升级到3.5要用那个版本呢我也经常遇到这个问题,,很多时候不同版本的框架之间的确存在兼容性问题。那就换成4.0

根本上说,3.5的runtime还是用2.0的,3.5主要是在2.0的基础上增加了不少类库
你的系统是x64的么?外加建议你重新用2008编译一下站点

windows 2003 sever系统,SP2补丁,兼容x32、x64,只能查到这个了

x64系统的话,你最好重新编译一下站点,编译为x86试试, 或者用2008重新编译成Any plateform也行

估计做过,他的参数名8成是混淆后的~重新编译,别混淆

然后把网站放到一个新的目录,设置好权限,注意加上ASP.NET权限
关键我现在用的v2.0.50727版本是正常浏览的,你意思是让我先升级,然后用你这个方法来实现是不是呢?

首先还是在你自己的机器上用2008在3.5环境下跑过,再放到服务器上;外加先不要混淆。

然而如果要把这个字符串移植到C#,由于C#对于安全边界检查较严格,又没有指针,所以无论把这个参数的类型转换为Char[], string还是StringBuilder,都无法完整获得函数返回的内容(Char[]只能返回第一个字母, string和StringBuilder则返回到第一个/0位置。如果将string[]作为参数传入,则提示参数错误。
也想过自己封装一个c++函数,将LPTSTR变成string[]返回,可是总希望寻求更聪明的解决方案。请问各位大牛有没有什么办法?

LPTSTR对应于StringBuilder类型,可变的字符串,通常都可以,可能你这是特殊情况~

谢谢楼上的关于指针的文章,我在C#中用指针尝试过了,发现不论是string(包括MarshalAs LPTSTR的string)还是StringBuilder,作为参数传到这个API中,返回的都只是第一个/0之前的内容,第一个/0之后的内容其实根本没有返回,所以即使用指针也取不到。
看来唯一的办法是写个C++类封装一下了。
恰是你的说法不对引起的, /0 是字符串分割符
你需要用自己的算法, 把传入的东西当作字节数组来自己分析, 标准方式的各种字符串函数只会在第一个 /0 下停下来.

对应StringBuilder,String,Byte[],char[]都行,后两者在知道长度的情况下是没问题的,你这没有,但应该也行,

可能是你之前用btnColor命名过一个按钮,后来删掉或改名了

我想问一下一楼的该怎么定义?是不是缺少程序集或者命名空间
btnColor缺少或是没有定义,你右键能跳到定义的地方吗?这个是不存在的.所以报这个错误.
哦,真的是没有定义,可是又不知道怎么定义,我是菜鸟一个!哪位写一下定义的代码。
界面的数据显示呗。根据你选择的行传入你需要查询信息的主键即可。
数据库里面可以为板块设置权限。你什么都不懂还要做这样的博客系统。我的资源里面有,你去下载一个嘛。
难道你一开始就什么都会啊。不会就不能做了,可笑。。有没有一点学习精神。
设计是一方面,实现有是一方面,我是学java的,现在学校要做。net设计,这个系统java的我会,但是。net没怎么接触过,所以实现有点茫然啊,大家不要见笑LZ你太猛了 一天半就做系统了
虽然有很多基础问题 但我还是很佩服你
一天的时间?从数据库的设定,到页面的设计,以及程序的生成,一个像样的博客是不可能在一天的时间内搞定的
来源: nba直播

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值