asp.net页面中英文切换,以及传递参数丢失的问题
1.对一个asp.net系统进行修改,实现中英双语,采用方案:全局资源(GlobalResources)
2.在母版上放了两个链接以实现中英文切换:
<a href="?currentculture=zh-cn">中文(中国)</a> <a href="?currentculture=en-us">English(USA)</a>
3.从页面A传递参数打开页面B,url为:http://xxxx./PageB.aspx?ID=20246
4.此时如果单击母版页上的链接(如2所述)进行语言切换,页面B将刷新,url为:
http://xxxx./PageB.aspx?currentculture=en-us
但参数ID=20246却丢失了。
本人是菜鸟,请高手帮忙,指导解决思路,有简要代码更好,谢谢了。
------解决方案--------------------<a href="<%=Server.UrlEncode(Request.Url.ToString())+"¤tculture=en-us" %>">English(USA)</a>
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------因为你中国和English这两个链接是直接在当前链接上并且使用了?currentculture=zh-cn替换参数来进行跳转的
最好这两个链接的地址又后台生成或者使用javascript进行修改过
比如后台的话
//这两个变量你需要定义为受保护级别以上的全局变量
string url_cn;
string url_en;
if (Request.QueryString.Count > 0)
{//这里表示地址栏有传值过来
url_cn = Request.Url.ToString() + "¤tculture=zh-cn";//以追加的方式添加参数
//url_en = ... //英文地址一样的处理
}
else {
url_cn = Request.Url.ToString() + "?currentculture=zh-cn";//直接加上参数
}
//好了之后使用前台标签将url_cn url_en输出的前台 <a href='<%= url_cn %>'>中国</a>