04 2011 档案

摘要:EVENT event 设置或获取脚本编写用于的事件 FOR htmlFor 设置或获取绑定到事件脚本的对象。 可以这样理解。 <script language= "javascript " for= "window " event= "onload "> 相当于 <script language= "javascript "> // 绑定 window.attachEvent( "onload ",function() { // TODO }) </script& 阅读全文
posted @ 2011-04-26 16:36 狼-志 阅读(8329) 评论(0) 推荐(1)
摘要:SQL跨数据库复制表数据默认分类 2010-09-02 16:53:14 阅读346 评论0 字号:大中小订阅 不同服务器数据库之间的数据操作不同数据库之间复制表的数据的方法:当表目标表存在时:insert into 目的数据库..表 select * from 源数据库..表当目标表不存在时:select * into 目的数据库..表 from 源数据库..表--如果在不同的SQL之间:insert into openrowset('sqloledb','目的服务器名';'sa';'',目的数据库.dbo.表)select * 阅读全文
posted @ 2011-04-25 13:56 狼-志 阅读(28823) 评论(1) 推荐(5)
摘要:页面的编译 特定.aspx资源的程序集的生成分为两个步骤进行。首先,该资源文件的源代码会被解析,根据得到的信息,从Page类(或Page的派生类)派生出相应的类。然后,动态生成的类会被编译为程序集,该程序集之后会被缓存到ASP.Net专用的临时目录下。 只要链接的aspx源文件没有被更改,且整个应用程序没有重启,已编译的页面就一直存在。对已链接aspx文件的任何更改,将使相关程序集变为无效,并在该页面下一次被请求时,强制HTTP运行库创建新的程序集。 编辑web.config和global.asax之类的文件会导致整个应用程序重启。在这种情况下,在某个页面被请求时,所有页面会被重新编译。如果b 阅读全文
posted @ 2011-04-21 12:44 狼-志 阅读(2866) 评论(0) 推荐(2)
摘要:要点 只有在工作进程隔离模式下运行时才能使用这个 IIS 6.0 功能。 应用程序池是将一个或多个应用程序链接到一个或多个工作进程集合的配置。因为应用程序池中的应用程序与其他应用程序被工作进程边界分隔,所以某个应用程序池中的应用程序不会受到其他应用程序池中应用程序所产生的问题的影响。通过创建新的应用程序池以及为其指派网站和应用程序,可以使您的服务器更加有效、可靠,同时也可以使您的其他应用程序一直保持可用状态,即使当为新应用程序池提供服务的工作进程出现问题时。创建应用程序池的原则在配置应用程序池时请考虑以下原则:要隔离运行在同一台计算机上但属于不同网站的 Web 应用程序,请为每个网站创建单独的 阅读全文
posted @ 2011-04-20 16:54 狼-志 阅读(614) 评论(0) 推荐(0)
摘要:禁止虚拟目录继承根目录下webconfig中的有些配置 web.config的继承禁止方法网站用了url重写,但是不想让站点下面的几个子站受到Url重写的影响,确又不希望更改和重新配置这些子站(虚拟目录创建),受影响的有两个方面:一.在子站下需要加入对应的url重写组件到子站的bin目录下二.子站下的url地址,受根目录url重写配置的影响目前只能把url重写的.dll复制子站下的bin目录,然后在对应的子站的web.config里添加上<system.web><!--add--><httpModules><clear/></httpMod 阅读全文
posted @ 2011-04-20 16:29 狼-志 阅读(496) 评论(0) 推荐(0)
摘要:usingSystem;usingSystem.Text;usingSystem.Security.Cryptography;usingSystem.IO;//默认密钥向量privatestaticbyte[]Keys={0x12,0x34,0x56,0x78,0x90,0xAB,0xCD,0xEF};///<summary>///DES加密字符串///</summary>///<paramname="encryptString">待加密的字符串</param>///<paramname="encryptKey 阅读全文
posted @ 2011-04-19 13:00 狼-志 阅读(423) 评论(0) 推荐(0)
摘要:自己测试用的代码Declare @ID int Declare @MoveRecords int Declare @CurrentPage int Declare @PageSize int set @CurrentPage=1set @PageSize=2--@CurrentPage和@PageSize是传入参数 Set @MoveRecords=@CurrentPage * @PageSize+1 --下面两行实现快速滚动到我们要取的数据的行,并把ID记录下来 Set Rowcount @MoveRecords Select @ID=id from [Table] Order by idS 阅读全文
posted @ 2011-04-19 10:59 狼-志 阅读(3438) 评论(0) 推荐(1)
摘要:GridView数据导入Excel/Excel数据读入GridView效果图:解决方案:页面增加一个按钮,单击事件添加如下方法:protected void Button1_Click(object sender, EventArgs e) { Export("application/ms-excel", "学生成绩报表.xls"); } private void Export(string FileType, string FileName) { Response.Charset = "GB2312"; Response.Conte 阅读全文
posted @ 2011-04-19 09:30 狼-志 阅读(353) 评论(0) 推荐(0)
摘要:要点:1.不能是自动列,必须是手动列。;2.后台必须绑定主键,否则在进行操作时获取不到主键 GridView1.DataKeyNames = new string[] { "userid" };//主键3. 展示列用,可以实现编辑<asp:BoundField DataField="username" HeaderText="用户姓名" />,编辑列<asp:CommandField HeaderText="编辑" ShowEditButton="true" />;4.后 阅读全文
posted @ 2011-04-19 09:20 狼-志 阅读(2822) 评论(0) 推荐(0)
摘要:一、垃圾回收是只是回收引用类型实例、及实例的2个附件对象的所在的堆控件;值类型无无回收概念;值类型实例所占的内存是位于当前运行线程的堆栈上,当值类型实例变量所在的方法执行结束,他们的内存将随着堆栈空间的消亡而自动消失。二、垃圾回收是一件复杂的活,c#提供了GC(grabage collection)专门用于自动回收垃圾,的垃圾机制,垃圾回收一般被放在 Finalize、Dispose、close方法中。三、clr所需要的内存资源都是中托管堆分配的,当应用程序初始化后,clr将保留一块连续的地址空间。这端空间最初并不对应任何的物理内存,该地址空间即为托管堆,托管堆上维护一个指针(NextObjP 阅读全文
posted @ 2011-04-15 11:52 狼-志 阅读(508) 评论(0) 推荐(0)
摘要:一、try catch 中的catch抛出异常必须是更具体的异常处理类,像父级异常处理抛出。就是说Exception应该是最后一个抛出的异常。在Exception抛出异常后,其后的异常将不处理。二、尽可能的不要把可能出现异常的代码块方法哦,finally中,即使finally出现异常,系统的异常机制继续工作,一个try块只能有一个finally,该块的代码一定被执行,在catch之后执行。三、Exception是所以异常的基类,System.SystemException 和System.ApplicationExcepion都继承自它。Fcl类型定义的方法抛出继承自System.System 阅读全文
posted @ 2011-04-14 16:10 狼-志 阅读(159) 评论(0) 推荐(0)
摘要:一、委托是方法(静态方法、实例方法)的封装,我们把一个方法传递给委托后,该委托就指向一个具体的方法,在委托中写参数就如同像该方法中写参数,并指向该方法一样。二、申明委托编译器会将这行委托代码生成,4个方法:一个构造器、Invoke(和源代码中指定的原型一样,名称不同,而且是虚方法;参数、返回值和源代码定义一致)、BeginInvoke、EndInovke(BeginInvoke、EndInovke用于进行异步回调)。三。所以的委托都有一个构造器,并且该构造器接受2个参数:一个对象引用、一个指向回调方法的整数。四。所以的委托都继承自,MulticastDelegate,而MulticastDel 阅读全文
posted @ 2011-04-14 14:21 狼-志 阅读(238) 评论(0) 推荐(0)
摘要:一、接口可以定义方法,属性、索引器、事件,并且自动默认public,不能加修饰符,当一个类实现某个接口时,其必须实现该接口定义的对象,还要实现该接口继承的接口的对象。二、如果一个类实现了多个接口,那么就可以将该类的实例重一个接口类型转换为另外一个接口类型,湖而建定义的总是虚方法,一个值类型转型为接口时,发生装箱操作。三、IS-A,是否继承关系:用基类;CAN-DO,能做:用接口;控件用的是继承,而集合(Collections)用的是接口,接口是一组行为的“集合”,约定大家都有这些行为。四、如果在基类中,添加新对象,派生类不用任何改变;如果是接口,则凡是继承了接口的类都必须修改代码来实现,接口中 阅读全文
posted @ 2011-04-13 12:01 狼-志 阅读(272) 评论(0) 推荐(0)
摘要:一、数组是引用类型,值类型的数组也是引用类型。二、int[] myint; myint = new int[100]; 首先myint被神秘为一个指向元素类型int的一维数组变量,此时myint被设置为null。当分配100个int的数组时,所有这些int元素值都被初始化为0.虽然int属于值类型,单保存这些int值的内存块却是从托管堆中分配的。该内存包含100个为装箱的int值,最后代码返回保存这些int值的内存块地址,并将其保存在变量myint中。Control[] myCtr; myCtr= new Control[50];首先myCtr被设置为null,然后分配一个包含50个Contr 阅读全文
posted @ 2011-04-12 15:00 狼-志 阅读(309) 评论(0) 推荐(0)
摘要:一、枚举:继承关系System.Object-->system.ValueType--->System.Enum(值类型),可对其进行格式化输出。二、判断一个枚举是否合法:Enum.IsDefined;枚举类型转换:Enum.Parse;可以把数值转换为枚举类型。三、位标记:定义一个枚举类型,在枚举类型上加上[Flags]属性。如: [Flags]enum Actions{Read =0X0001,Write=0X0002,Delete=0X0004,Query=0X0008,Sync=0X00010,}调用Actions actions=Actions.Read|Actions. 阅读全文
posted @ 2011-04-12 10:54 狼-志 阅读(308) 评论(0) 推荐(0)
摘要:我们在做开发的时候,常常会使用到集合类型,常见的集合类型有Array、Queue、Stack、ArrayList、StringCollection、Hashtable、SortedList、ListDictionary等等。选择需要使用的类型的时候,我们需要分析清楚一下情况: 只作为简单的固定类型数据集合使用,不需要任何额外功能? Array是首选,即我们常用的的int[],string[]等。 是否需要一个序列列表,其中的元素通常在检索其值后被放弃? 如果需要,那么在需要先进先出 (FIFO) 行为时请考虑使用 Queue 类或 Queue 泛型类。在需要后进先出 (LIFO) 行为时请考虑 阅读全文
posted @ 2011-04-10 13:40 狼-志 阅读(330) 评论(0) 推荐(0)
摘要:一、char 字符类型(他是值类型,strcut):3种转换类型方法:1.(int)char。 2.convert.ToInt()。3.IConvertlble,该接口实现了大量的类型间转换操作,FCL中的数值类型都实现了该接口。其公实现了:IComparable, IConvertible, IComparable<char>, IEquatable<char>几个接口。二、所有直接继承只System.Object的类型都是引用类型。郁闷吧。System.ValueType居然是引用类型,所有的值类型都是继承自它。三、string(密封类)共实现 IComparabl 阅读全文
posted @ 2011-04-10 00:43 狼-志 阅读(573) 评论(0) 推荐(0)
摘要:一、 事件:允许对象登记事件;允许对象注销事件、允许定义事件的对象维持一个登记对象的集合,并在某些特定的事件发生时通知这些对象。clr的事件是建立在委托(delegate)上的。二、事件只能由事件的类型登记或者注销。事件其实是一个静态函数。三、事件继承自,Sysetm.EventArgs;命名规则是事件应该以EventArgs结尾。委托应该以EventHandler结尾。为的是命名标准。四、事件的本质是委托,定义一个事件时,c#编译器会生成1个委托类型的私有字段,一个add_+事件名,一个remover_+事件名的 2个public的方法。一个用于注册事件,一个用于注销事件。2个方法都有一个委 阅读全文
posted @ 2011-04-09 13:37 狼-志 阅读(276) 评论(0) 推荐(0)
摘要:一、静态(类型)构造器不应该调用基类中的静态(类型)构造器,因为静态字段并没有被派生类继承(即在父类中定义的静态字段等对象,在其子类并不能访问。),一个类只能有一个静态构造器,并且必须是无参的。二、当需要在应用程序域关闭时执行某些代码用System.AppDomain的DomainUpload事件。三、CLR假设所有的方法参数都是按值来专递的。当参数是一样类型对象时,参数的传递可以通过传递指向对象的引用(或者指针)来完成。 对应值类型的参数来说,传递给方法的是将值类型实例的一个拷贝。这就是说,方法得到一份属于它自己的值类型实例拷贝,而调用该方法的代码中的实例不会受到任何影响。四、out:在调用 阅读全文
posted @ 2011-04-09 00:06 狼-志 阅读(280) 评论(0) 推荐(0)
摘要:一、实例构造器:创建一个引用类型实例时,分三步1.为该实例分配内存 2.初始化对象的附近成员(方法表指针,SyncBlockIndex) 3.在调用类型的实例构造器设置对象的初始值。系统为该实例分配内存时总是把所有位上的值设置为0(二进制0),以保证构造器没有赋值的对象都有一个初始值0或者null;如果我们在申明类时没有申明构造器,系统将默认生成一个公有的无参数构造器。 实例值类型构造器:对于值类型 使用new仅仅是调用构造器,来初始化已经分配好的内存,为值类型定义任何构造器都必须初始化,值类型中的所有字段。c#不允许我们为值类型定义实例无参构造器(CLR可以为值类型定义无参构造器,所有可以用 阅读全文
posted @ 2011-04-08 11:40 狼-志 阅读(240) 评论(0) 推荐(0)
摘要:一、const:常数,字段在编译时,直接把值嵌入到使用它的程序集中,就是说,如果只改名常数定义的程序集中常数的值,而不重新编译整个程序,那么以前引用该常数的程序集中该常数是保持以前的值,而不是重新编译后的值(俗称:版本问题)。二、字段:CLR支持有类型(静态)字段、实例字段(非静态);同时有分为只读字段(加上readonly)和读写字段;静态字段,系统在该类型被加载进入一个应用程序域时,动态分配内存。通常发生在引用该类型的方法第一次被jit编译时。实例字段,系统在该类型的实例被构造时动态为其分配内存。三、只需将一个字段申明为 静态只读(static readonly)字段即可以解决const带 阅读全文
posted @ 2011-04-08 10:36 狼-志 阅读(248) 评论(0) 推荐(0)
摘要:比较两个对象相等、克隆 、是否允许实例化继承 CLR学习第六课 虚方法的Equeals、静态方法的Equals、==、引用类型相等ReferenceEquals;还有他们的一些重载方法。一、当我们重写Object中的Equeal方法时必须满足4条规则;1.必须自反,即自己和自己比较返回true;2.必须对此,比较2个类型时,交换位置都必须返回true;3.必须是可以传递的即a=b、b=c,那么a=c; 4.必须前后一致,也就是说,如果2个对象的值没有发生改变,多次调用Equeals方法都必须返回相同的值。 二、如果调用父类的Equals会导致调用Object.Equals方法,就不应该调用该. 阅读全文
posted @ 2011-04-07 23:16 狼-志 阅读(775) 评论(0) 推荐(0)
摘要:一、基元类型:编译器直接支持的数据类型称为基元类型(如int类型其对于的是system。int32)。二、类型溢出,可以用checked 和unchecked进行类型溢出检查和不进行类型溢出检查。一个奇怪的问题,2个byte类型相加的结果居然是个int类型。如果原因是在clr(clr只在32位何64位进行算术运算)中计算时,要把byte类型先转换为32位的int类型在相加,所以导致2个byte类型相加的结果是int类型;一个诡异的问题 :如 a、b是byte类型 b+=a;则不会出错。三、所以的值计算都有对应的 System.Decimal是一个特殊的类型,clr没有直接操作Decimal的值 阅读全文
posted @ 2011-04-07 08:42 狼-志 阅读(288) 评论(0) 推荐(0)
摘要:一、任何类,都继承或者间接继承自object类,其实万类之源。所以任何类都具有object类的属性和方法。equals、GetHashCode、ToString、GetType、MemberwiseClone、Finalize方法。二、当我们实例化一个类时,将从托管堆中,分配该类型所需要的空间;然后初始化对象成员,没一个实例化对象都有2个附件成员,第一个成员为指向类型方法的指针;第二个成员(SyncBlockindex),该字段用于线程同步,其中的某些位还用于垃圾处理时的标记;另外object的默认类型GetHashCode方法也用到了改字段。CLR使用这2个字段来管理对象实例。三、A--B: 阅读全文
posted @ 2011-04-06 14:43 狼-志 阅读(292) 评论(0) 推荐(0)
摘要:一、只需要在样式中加入,html{height:100%;}就正常了。二、一些情况下在有ie不兼容情况,可以用 *html (样式名称){css代码},可以实现强制选择ie6执行的情况; 用*+html 样式名称{css代码},实现ie7 的强制选择;三、其他的很多不兼容只有具体出现时,在解决了。ie调试工具:firebug、IEcollection、IETest、Httpwatch、DugBar、Fiddler。项目bug管理工具:bugfree,用php做的(开源、免费,但是已经不提供更新支持了);现在出了个禅道项目管理工具(bugfree的替代版本,免费,并继续提供更新等支持)。 阅读全文
posted @ 2011-04-06 08:54 狼-志 阅读(2200) 评论(0) 推荐(0)
摘要:绍: 将GridView的内容导出到Excel是很普通的应用,在很多网站上都有使用。有各种不同的技术来实现GridView导出到Excel中,主要是看应用程序的具体情况。在本文中我将演示一些你会觉得有用的技巧。从GridView导出到Excel(基础代码) 让我们从基础的导出方法开始。首先,我们需要用一些数据填充GridView。我创建了一个自定义的数据表,它包含了多个字段。你可以在下面的截图中看到。 现在,下一步的任务是使用数据库中的数据来填充GridView。试一试下面的代码,它使用DataSet来填充GridView。1private void BindData()2{34SqlConn 阅读全文
posted @ 2011-04-02 17:27 狼-志 阅读(1140) 评论(0) 推荐(0)
摘要:一、代码的执行过程是调用方法的过程,当一个方法被第一次掉用时,Clr将检查该方法引用了那些类型,然后clr尝试加载被引用那个程序集的清单,如果方法引用的类型恰好在该文件中,clr将执行一些内部簿记工作,然后使用该类型。如果清单显示方法的引用类型在其他文件中,clr将试图加载这些文件,并做一些簿记工作,然后开始使用该类型。只有当引用一个类型的方法被调用时,clr才会加载该该类型所在的程序集。只意味着一个应用程序的的运行并不需要其引用的程序集中的所有文件。二、程序集版本号格式:主板本号.次版本号.生成版本号.修订号,如.NET2.0中 aspnet_isapi.dll的版本号为:2.0.50727 阅读全文
posted @ 2011-04-02 16:01 狼-志 阅读(583) 评论(0) 推荐(0)
摘要:一、名称解释:CLS:common language specilication:通用语言规范;CLR:common language Runtime 公共语言运行时。托管代码:编译的代码直接clr等一层一层的进行 代码编译(C#--C#编译器--CLR(把它编译为IL)--IL--本地cpu可执行代码)并进行类型安全验证、资源释放等操作。非托管代码:c#语言生成的代码直接由cpu执行,所以需要自己处理资源释放、类型安全检查、等一系列的操作。元数据:包含程序运行所需的一切资源信息,元数据中包含3个表:定义表(Def)、引用表(Ref)、清单表。其中定义表、引用表:中分别包含了 模块(Modul 阅读全文
posted @ 2011-04-01 11:51 狼-志 阅读(481) 评论(0) 推荐(0)