一切福田,不離方寸,從心而覓,感無不通。

Category Archives: Programming Language

Warning: date_default_timezone_get(): It is not safe to rely on the system’s

今天在运行PHP应用时,报了上面的警告, 出现这个可能是以下原因1.如果装xampp,可能是xampp没装好或者有问题,需要重装2.php 5.3也可能出这个问题,需要修改php.ini文件 找到date.timezone将它的改为 date.timezone=utc 将前面的分号去掉,重启服务器或者在index.php中加上 date_default_timezone_set('UTC'); 3.可以将index.php里面的error_reporting(7);改为error_reporting(0);即可避免它们的出现。

龙生   06 Sep 2010
View Details

关于asp.net 循环输出多个随机数相同时的解决方法

关于asp.net 循环输出多个随机数相同时的解决方法 我们在使用Random生成随机数时经常会出现一种误区,下面我们就此介绍一下: 其中用于产生随机数的函数原型为:Rnd(x),该函数用以产生一个介于0~1之间的单精度随机数。x是产生随机数的种子。如果要从(min, max)这个范围内随机抽取一个数,此时需要用到公式:随机数 = (max – min) * Rnd(x) + min。一般的生成随机数方法: Random ran=new Random(); int   temp=ran.Next(100);生成100以内的一个随机数;这是没有什么问题的 但是我们经常用到for循环生成多个随机数,这时候可能就会出现问题,如果你对随机数原理不是很了解的话,很可能会出现一个误区如: for(int i=0;i<100;i++) { Random ran=new Random(); int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   这时候你会发现一个问题:生成的所有的随机数都是一样的,不管你ran.Next的值怎么设置都是一样的,为是为什么呢,这就是我们要说的一种误区,其实正确的写法是这样的: Random ran=new Random();   for(int i=0;i<100;i++) { int   temp=ran.Next(100); Responsed.Write(temp.ToString()); }   看看是不是得到了自己想要的东西。呵呵 转自:http://hi.baidu.com/arqq1230/blog/item/770fb1fab1b7ed9f58ee901c.html

龙生   31 Aug 2010
View Details

从客户端(…)中检测到有潜在危险的Request.Form 值的处理办法

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangyj_315/archive/2009/03/06/3962394.aspx 这几天在用ASP.NET控件做一个简单的留言本,在测试detailsview实现插入留言时,如果在插入模板的textbox中插入<script>alert(&ldquo;hello&rdquo;)</script>这样一段脚本时,就会报从客户端中检测到有潜在危险的 Request.Form 值。想到前面一段时间在MSDN上的看到通过对字符串应用 HTML 编码在 Web 应用程序中防止脚本侵入这一节的内容,所以想在代码中利用htmlencode()对输入内容进行编码以防止脚本的入侵。但是如果要对整个网站的输入框进行验证,这种做法显然是比较繁琐的。所以就在google了一下,于是就得到了下面的四种解决办法。 由于在.net中,Request时出现有HTML或Javascript等字符串时,系统会认为是危险性值。立马报错上面的错误。 如:在网页的TextBox1中输入一些HTML代码,点提交按钮后会报错。 解决办法: 解决方案一: 在.aspx文件头中加入这句: <%@ Page validateRequest="false"  %> 解决方案二: 修改web.config文件: <configuration> <system.web> <pages validateRequest="false" /> </system.web> </configuration> 因为validateRequest默认值为true。只要设为false即可。 补充:  

  解决方案三: 当然,这样只能是让界面好看一些,要想抵制注入,还得从过滤上做足功夫 然后,还是有不禁用validateRequest的方法的,如下 不禁用validateRequest=false。 正确的做法是在你当前页面添加Page_Error()函数,来捕获所有页面处理过程中发生的而没有处理的异常。然后给用户一个合法的报错信息。如果当前页面没有Page_Error(),这个异常将会送到Global.asax的Application_Error()来处理,你也可以在那里写通用的异常报错处理函数。如果两个地方都没有写异常处理函数,才会显示这个默认的报错页面呢。 举例而言,处理这个异常其实只需要很简短的一小段代码就够了。在页面的Code-behind页面中加入这么一段代码: 以下是引用片段: protected void Page_Error(object sender, EventArgs e) { Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } } 解决方案四: 在Global.asax文件的Application_Error()来处理。这样在整个网站中都生效。 void Application_Error(object sender, EventArgs e) { // 在出现未处理的错误时运行的代码 Exception ex = Server.GetLastError(); if (ex is HttpRequestValidationException) { Response.Write("请您输入合法字符串。"); Server.ClearError(); // 如果不ClearError()这个异常会继续传到Application_Error()。 } }

龙生   20 Aug 2010
View Details

asp.net中string.Format的一些用法

C#的String.Format举例2006-12-12 16:05stringstr1 =string.Format("{0:N1}",56789);               //result: 56,789.0stringstr2 =string.Format("{0:N2}",56789);               //result: 56,789.00stringstr3 =string.Format("{0:N3}",56789);               //result: 56,789.000stringstr8 =string.Format("{0:F1}",56789);               //result: 56789.0stringstr9 =string.Format("{0:F2}",56789);               //result: 56789.00stringstr11 =(56789 / 100.0).ToString("#.##");           //result: 567.89stringstr12 =(56789 / 100).ToString("#.##");             //result: 567 C 或 c货币Console.Write("{0:C}", 2.5); //$2.50Console.Write("{0:C}", -2.5); //($2.50) D 或 d十进制数Console.Write("{0:D5}", 25); //00025 E 或 e科学型Console.Write("{0:E}", 250000); //2.500000E+005 F 或 f固定点Console.Write("{0:F2}", 25); //25.00Console.Write("{0:F0}", 25); //25 G 或 g常规Console.Write("{0:G}", 2.5); //2.5 N 或 n数字Console.Write("{0:N}", 2500000); //2,500,000.00 X 或 x十六进制Console.Write("{0:X}", 250); /******************************************************************************/ASP.NET设置数据格式与String.Format使用总结(引) {0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d} 3/23/2003 {0:T} 12:00:00 AM {0:男;;女} DataGrid-数据格式设置表达式 数据格式设置表达式 .NET Framework 格式设置表达式,它在数据显示在列中之前先应用于数据。此表达式由可选静态文本和用以下格式表示的格式说明符组成: {0:format […]

龙生   07 Aug 2010
View Details

顺序求出c(n,r)的排列组合

using System; namespace combinaton{ /// <summary> /// Summary description for Class1. /// </summary> class Class1 {  /// <summary>  /// The main entry point for the application.  /// </summary>  [STAThread]  static void Main(string[] args)  {   //   // TODO: Add code to start application here   //   Console.WriteLine("please input n :");   long n=long.Parse(Console.ReadLine());   Console.WriteLine("please input r :");   long r=long.Parse(Console.ReadLine());   combinaton(n,r);   Console.ReadLine();  }  static void combinaton(long n,long r)  {   if(n<r)   {    long temp;    temp=n;    n=r;    r=temp;   }   long[] s=new long[n];   long count = combi(n,r);   Console.WriteLine("there are total:{0}count:",count);   for(long i=0;i<r;i++)   {    s[i]=i+1;    Console.Write("{0}",s[i]);   }   Console.WriteLine();   for(long i=1;i<count;i++)   {    […]

龙生   05 Aug 2010
View Details

Windows 7下VS2008升级补丁

转自:http://xdenggao.blog.163.com/blog/static/19204510201022024848561/ 改成正式版操作步骤:控制面版>添加或删除程序>卸载vs.net2008>出现卸载界面>点击Next>输入下面CD-key ->点击升级->出现成功画面即可完美将试用版升级成为正式版。   CDKEY:PYHYP-WXB3B-B2CCM-V9DX9-VDY8T 。   在Windows 7下,VS2008试用版无法正常升级到正式版。原因是维护页面的注册码输入框和升级按钮被隐藏。通过本补丁,可让注册码输入框和升级按钮恢复正常显示。 补丁下载地址 ———————————————————— 关键函数如下: void CREGVS2008Dlg::OnBnClickedButtonAutoreg(){ // 要查找的VS2008版本列表 const TCHAR* szCaption[] = {  TEXT("Microsoft Visual Studio 2008 安装程序 – 维护页"),  // 简体中文版  TEXT("Microsoft Visual Studio 2008 安裝程式 – 維護頁"),  // 繁体中文版  TEXT("Microsoft Visual Studio 2008 Setup – Maintenance Page") // 英文版 };  HWND hWnd; UINT i, uNum;  // 定位“Microsoft Visual Studio 2008 安装程序 – 维护页”窗口 uNum = sizeof(szCaption) / sizeof(const TCHAR*); for( i = 0; i < uNum; i++ ) {  hWnd = ::FindWindow( NULL, szCaption[i] );  if( hWnd != NULL )  { // 窗口发现   break;  } }  if( i == uNum ) { // 没有找到VS2008维护页窗口  MessageBox( TEXT("没有发现“Microsoft Visual Studio 2008 安装程序 – 维护页”窗口!") );  return; }  // 进入第1层子窗口 hWnd […]

龙生   01 Jul 2010
View Details

.net批量上传核心代码

            int intTotal = Request.Files.Count;            if (intTotal > 0) {                 for (int i = 0; i < intTotal ; i++)                {                    HttpPostedFile file = Request.Files[i];                     if (file.ContentLength > 0 || !string.IsNullOrEmpty(file.FileName))                    {                        string[] strarr = file.FileName.Split('\\');                        string filename = strarr[strarr.GetLength(0) – 1];                        //保存文件                        file.SaveAs(System.Web.HttpContext.Current.Server.MapPath("./file/" + filename));                        Response.Write(i+1+"."+filename+"<br />");                    }                }             }else{                Response.Write("得选个文件吧?");            }

龙生   10 Jun 2010
View Details

WPF

WPF概述WPF为Windows Presentation Foundation的缩写 ,其原来代号为“Avalon”,因“我佩服”拼音首字母组合一样,国内有人调侃地称之为“我佩服”。WPF是微软新一代图形系统,运行在.NET Framework 3.0架构下,为用户界面、2D/3D 图形、文档和媒体提供了统一的描述和操作方法。基于DirectX 9/10技术的WPF不仅带来了前所未有的3D界面,而且其图形向量渲染引擎也大大改进了传统的2D界面,比如Vista中的半透明效果的窗体等都得益于 WPF。 程序员在WPF的帮助下,要开发出媲美Mac程序的酷炫界面已不再是遥不可及的奢望。 WPF相对于Windows客户端的开发来说,向前跨出了巨大的一步,它提供了超丰富的.NET UI 框架,集成了矢量图形,丰富的流动文字支持flow text support,3D视觉效果和强大无比的控件模型框架。[编辑本段]Windows Presentation FoundationWindows Presentation Foundation(以前的代号为“Avalon”)是 Microsoft 用于 Windows 的统一显示子系统,它通过 WinFX 公开。它由显示引擎和托管代码框架组成。Windows Presentation Foundation 统一了 Windows 创建、显示和操作文档、媒体和用户界面 (UI) 的方式,使开发人员和设计人员可以创建更好的视觉效果、不同的用户体验。Windows Presentation Foundation 发布后(计划在 2006 年),Windows XP、Windows Server 2003 和以后所有的 Windows 操作系统版本都可以使用它。Windows Presentation FoundationWindows Presentation Foundation 由两个主要部分组成:引擎和编程框架。? Windows Presentation Foundation 引擎。Windows Presentation Foundation 引擎统一了开发人员和设计人员体验文档、媒体和 UI 的方式,为基于浏览器的体验、基于窗体的应用程序、图形、视频、音频和文档提供了一个单一的运行时库。Windows Presentation Foundation 使得应用程序不仅能够充分利用现代计算机中现有的图形硬件的全部功能,而且能够利用硬件将来的进步。例如,Windows Presentation Foundation 的基于矢量的呈现引擎使应用程序可以灵活地利用高 DPI 监视器,而无需开发人员或用户进行额外的工作。 同样,当 Windows Presentation Foundation 检测到支持硬件加速的视频卡时,它将利用硬件加速功能。? Windows Presentation Foundation 框架。Windows Presentation Foundation 框架为媒体、用户界面设计和文档提供的解决方案远远超过开发人员现在所拥有的。Windows Presentation Foundation 的设计考虑了可扩展性,使开发人员可以完全在 Windows Presentation Foundation 引擎的基础上创建自己的控件,也可以通过对现有 Windows Presentation Foundation 控件进行再分类来创建自己的控件。Windows […]

龙生   03 Jun 2010
View Details

LINQ

基本概念LINQ,语言集成查询(Language INtegrated Query)是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。从技术角度而言,LINQ定义了大约40个查询操作符,如select、from、in、 where以及orderby(C#)中。试用这些操作可以编写查询语句。不过,这些查询还可以基于很多类型的数据,每个数据类型都需要一个单独的 LINQ类型。经过了最近 20 年,面向对象编程技术( object-oriented (OO) programming technologies )在工业领域的应用已经进入了一个稳定的发展阶段。程序员现在都已经认同像 类(classes)、对象(objects)、方法(methods)这样的语言特性。考察现在和下一代的技术,一个新的编程技术的重大挑战开始呈现出来,即面向对象技术诞生以来并没有解决降低访问和整合信息数据( accessing and integrating information )的复杂度的问题。其中两个最主要访问的数据源与数据库( database )和 XML 相关。LINQ 提供了一条更常规的途径即给 .Net Framework 添加一些可以应用于所有信息源( all sources of information )的具有多种用途( general-purpose )的语法查询特性( query facilities ),这是比向开发语言和运行时( runtime )添加一些关系数据( relational )特性或者类似 XML 特性( XML-specific )更好的方式。这些语法特性就叫做 .NET Language Integrated Query (LINQ) 。包含 DLinq 和 XLinq[编辑本段]基础知识1. LINQ的读法:(1)lin k (2)lin q2. LINQ的关键词:from, select, in, where, group by, order by …3. LINQ的注意点:必须以select或者是group by 结束。4. LINQ的语义:from 临时变量 in 集合对象或数据库对象where 条件表达式[order by条件]select 临时变量中被查询的值[group by 条件]LINQ的查询返回值的类型是临时变量的类型,可能是一个对象也可能是一个集合。并且LINQ 的查询表达式是在最近一次创建对象时才被编译的。LINQ的查询一般跟var关键字一起联用 (什么是var?匿名对象) 。5. LINQ的全称:Language-Integrated Query6. LINQ的分类:LINQ to Object, […]

龙生   03 Jun 2010
View Details

.Net framework 3.5 无法安装,附解决方法

下载了VS2008,结果在安装时总是失败,检查日志,提示:[11/22/07,18:04:40] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:05:13] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a is not installed.[11/22/07,18:26:27] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:26:57] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a is not installed.[11/22/07,18:49:56] Microsoft .NET Framework 2.0a: [2] Error: Installation failed for component Microsoft .NET Framework 2.0a. MSI returned error code 1603[11/22/07,18:50:28] WapUI: [2] DepCheck indicates Microsoft .NET Framework 2.0a […]

龙生   21 May 2010
View Details