小知识小结

今天学了点小东西,其实这也就是一些小技巧,平时没有做总结,今天小结一下:

一、数据绑定的格式问题:

一个商品的价格(1000),我们平时做数据绑定时,一般都这样<%#Evalu("Price")%>,值显示出来一般都是1000,今天要求显示的格式为1,000.00,像这样的格式,以前是先对这个价格进行处理之后再进行绑定,后来发现没有这个必要,只需要这样<%#Evalu("Price","{0:N2}")%>,呵呵,如果真这样就错了,格式{0:N2}只对数字起作用,所以显示的结果还是1000,既然这样,就把数据格式转换一下不就行了?所以最后写成这样<%#string.Format("{0:N2}",Convert.ToDouble(Evalu("Price")))%>,OK,显示的最终结果为1,000.00,问题解决。再啰嗦一下,这里主要用到的是string.Format("{0:N2}",object),像数据格式有很多种,大家可以了解一下:{0:C}{0:D}{0:E}}{0:F}{0:G}{0:N},详细的大家可以查一下msdn,有了这些,大家就再也不用害怕数据格式的问题了。

二、今天由于需要,要知道Repeater控件的数据绑定行的索引进行处理,这个控件不像GridView一样可以直接访问,要用<%#Container.ItemIndex%>这个来访问,我们现在大多的数据绑定都这样写<%#Eval("Name")%>,都很少用Container了,有时要根据需要用不同的绑定方法才行了。

OK,今天就到此了,以后再总结,积少成多!

--2008年11月30日21时20分

事情是这样的,用户在登陆时我将用户的名称用cookie保存,然后在欢迎页面上读用户名称的cookie值,在页面上显示。问题是:我在开发环境上写cookie值和读cookie值均没有问题,当发布后送到服务器上时,用户的名称显示为乱码,后来发现原因是写cookie值是没有编码,所以导制乱码,我觉得正确的写法为:

写cookie:

           string cookieValue=  System.Web.HttpContext.Current.Server.UrlEncode("测试值");
           System.Web.HttpCookie cookie = new HttpCookie("test",cookieValue);
           cookie.Expires = DateTime.Now.AddMonths(1);
           System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

读cookie:

     string cookieValue= System.Web.HttpContext.Current.Server.UrlDecode(System.Web.HttpContext.Current.Request.Cookies["test"].Value);

 

posted @ 2008-11-27 20:48  极品菜鸟  阅读(292)  评论(0编辑  收藏  举报