我的学习笔记(国际化,设置Cookie)
来源:互联网 发布:php汽车门户系统 编辑:程序博客网 时间:2024/04/29 09:13
//2008年——11月——17日
//添加cookie
public virtual void SetCookie(string productid,string productName){
string strCookie="" ;
if(getCookie("productcookie")){
string[] strArr=this.GetCookie("productcookie") ;
string strOldCoodie="" ;
foreach(string str in strArr){
strOldCookie=strOldCookie+","+str ;
}
strCookie=productid+"|"+productName+","+HttpUtility.UrlDecode(Request.Cookies["productcookie"].value) ;
strCookie=productid+"|"+productName+strOldCookie ;
}else{
strCookie=productid+"|"+productName ;
}
HttpCookie Cookie=new HttpCookie("productcookie") ;
Cookie.Expire=DateTime.Now.AddDays(1) ;
Cookie.Value=HttpUtility.UrlEncode(strCookie) ;
Cooke.Path="" ;
HttpContext.Current.Request.Cookies.Remove("productCookie") ;//删除缓存中的Cookie,这样就会读到当前插入的Cookie
System.Web.HttpContext.Current.Request.Cookies.Add(Cookie) ;
}
//查询cookie
private string[] GetCookie(string strName){
HttpCookie Cookie=System.Web.HttpContext.Current.Requset.Cookies[strName] ;
if(Cookie!=null){
string[] strAll=HttpUtility.UrlDecode(Cookie.value).Split(',') ;
if(strAll.Length<=10){
return strAll ;
}else{
string[] strTenCookie=new string[10] ;
for(int i=0;i<10;i++){
strtenCookie[i]=strAll[i] ;
}
return strTenCookie ;
}
}else{
return null ;
}
}
//读取cookie
private void BindCookie(){
IList<COOKIELIST> ilcookies=new List<COOKIELIST>() ;
string[] strcookie=this.GetCookie("productcookie") ;
if(null!=strcookie){
for(int i=0;i<strcookie.Length;i++){
string strEveryCookie=strcookie[i].Split("|") ;
COOKIELIST cookielist=new COOKIELIST() ;
cookielist.PRODUCTID=strEveryCookie[0] ;
cookielist.PRODUCTNAME=strEveryCookie[1] ;
ilcookies.add(cookielist) ;
}
}else{
}
this.repreaterCookie.DataSource=ilcookies ;
this.repeaterCookie.DataBind() ;
}
//国际化
/****start**/
//C# 复制代码
<%@ Page Language="C#" uiculture="auto" %>
<%@ Import Namespace="System.Threading" %>
<%@ Import Namespace="System.Globalization" %>
<script runat="server">
protected override void InitializeCulture()
{
if (Request.Form["ListBox1"] != null)
{
String selectedLanguage = Request.Form["ListBox1"];
UICulture = selectedLanguage ;
Culture = selectedLanguage ;
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(selectedLanguage);
Thread.CurrentThread.CurrentUICulture = new
CultureInfo(selectedLanguage);
}
base.InitializeCulture();
}
</script>
<html>
<body>
<form id="form1" runat="server">
<div>
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Value="en-US"
Selected="True">English</asp:ListItem>
<asp:ListItem Value="es-MX">Espa?ol</asp:ListItem>
<asp:ListItem Value="de-DE">Deutsch</asp:ListItem>
</asp:ListBox><br />
<asp:Button ID="Button1" runat="server"
Text="Set Language"
meta:resourcekey="Button1" />
<br />
<asp:Label ID="Label1" runat="server"
Text=""
meta:resourcekey="Label1" />
</div>
</form>
</body>
</html>
/*end*/
//实际事例
//MasterPage.master中
protected void btnChangeCultureEN_Click(object sender,EventArgs e){
Session["Culture"]="en-us" ;
string strPath=Request.Url.AbsolutePath+this.UrlParameter() ;
Response.Redirect(strPath) ;
}
protected void btnChangeCultureZH_Click(object sender,EventArgs e){
Session["Culture"]="zh-cn" ;
string strPath=Request.Url.AbsolutePath+this.UrlParameter() ;
Response.Redirect(strPath) ;
}
//UrlParameter()方法
private string UrlParameter(){
string strQueryString="" ;
foreach(string s in Request.QueryString.AllKeys){
strQueryString = strQueryString+"&"+s+"="+Request.QueryString[s].ToString() ;
}
if(strQueryString!=""){
strQueryString="?"+strQueryString ;
strQueryString=strQueryString.Replace("?&","?") ;
}
return strQueryString ;
}
//page 类中
protected override void InitializeCulture(){
if(null!=Session["Culture"]&&""!=Session["Culture"].ToString()){
System.Globalization.CultureInfo lang=new System.Globalization.CultureInfo(Session["Culture"].ToString()) ;
System.Threading.Thread.CurrentThread.CurrentCulture=lang ;
System.Threading.Thread.CurrentThread.CurrentUICulture=lang ;
}
}
/****WednesDay November 2008*****/
//前台
//<div id="topic1" runat="server">
//后台 在后台来控制div中的背景图的显示和隐藏 或切换
this.tipic1.Style.Add("background-image","../images/idaytop.gif") ;
//如果想在DIV里写内容可以这样:
this.productName.InnerHtml=dt.Rows[0]["PRODUCT_NAME"].ToString() ;
//上面的语句可能是有问题的,if dt.Rows[0]["PRODUCT_NAME"]==NULL {null.ToString()->出现异常,} 解决办法:(dt.Rows[0]["PRODUCT_NAME"]+"").ToString();
//更改图片
this.img1.Src="../images/city_pic02.jpg" ;
this.imgbtnsearch.ImageUrl="../images/chxun.gif" ;
//我没有严肃啊,只是实事求是.我以前犯了很多错误,哈哈,因为年轻,有些事情,有些决定,有些做法 我还是很后悔的,因为我做错了,它们影响到了我现在.
/*************/
- 我的学习笔记(国际化,设置Cookie)
- Servlet 学习笔记 Cookie的设置
- Spring mvc国际化设置(cookie)
- struts2的国际化学习笔记
- Struts2学习笔记17:Struts2的国际化
- 学习笔记-------------------struts2国际化
- 国际化 学习笔记
- 国际化---struts2学习笔记
- struts2学习笔记----国际化
- 学习笔记:资源国际化
- 我的php学习笔记(二十九)PHP5中Cookie与 Session详解
- 安卓学习笔记---AndroidWebview里设置Cookie遇到的坑
- (转)安卓学习笔记---AndroidWebview里设置Cookie遇到的坑
- 我的学习笔记
- 我的学习笔记
- 我的学习笔记
- cookie与session学习笔记 -- day02 cookie的使用
- 学习笔记: JavaScript/JQuery 的cookie操作
- 完善一段代码(华为的面试题)
- 得到字符串中汉字的个数的函数及其说明
- 日期和数字的格式互换
- LL和我一起病了。
- Mdi分栏方法总结
- 我的学习笔记(国际化,设置Cookie)
- 2009年SOA七大预测:云计算推动SOA
- RTDX在图像处理中的应用
- 正确认识C#中的引用传递,其实引用传递实际上也是属于值传递
- 模板方法的一般实现:
- 软件人才体系图
- 有几个天使
- 你的公司有鸡鸣狗盗之徒吗?
- 你是自暴自弃的人吗?