木子屋 Dnawo's BLOG

分类:Web编程

共 939 篇

比较Select Case(VB.NET)和switch(C#)

1.一次测试一个字面值 Select Case语句: switch语句: 说明:switch的每个分支都必须以break(或其他跳转语句)结束,否则将继续执行下一分支的代码,但这在C#中是非法的,这与Select Case不同,Select Case中只要执行了一个分支后就不再执行其他分支!顺便说下,JavaScript的switch语句每个分支也需要break语句,但如果缺少break语句在JavaScript中也不会出错,结果剩下的分支的代码都将被执行! 2.一次测试多个字面值 Select Case语句: switch语句: 3.复杂的条件 Select Case语句: switch无法实现!…

ArrayList,List,Hashtable,Dictionary的应用

ArrayList的应用(System.Collections) List的应用(System.Collections.Generic) Hashtable的应用(System.Collections) Dictionary的应用(System.Collections.Generic) 说明:如果存储的元素是Object类型时,List和Dictionary会优于ArrayList和HashTable,因为在存储或检索值类型时ArrayList和HashTable经常要进行装箱和拆箱。

ASP.NET2.0个性化用户配置之存储匿名/登录用户信息

个性化用户配置是ASP.NET2.0的一个新特性,它主要依赖于ProfileBase类和ProfileManager类,其中ProfileBase类提供对配置文件属性值和信息的非类型化访问,ProfileManager类管理用户配置文件数据和设置。在启动启用了用户配置文件的应用程序时,ASP.NET会创建一个类型为ProfileCommon的新类,该类从ProfileBase类继承。强类型访问器被添加到profile配置节中为每个属性定义的ProfileCommon类中。ProfileCommon类的强类型访问器调用ProfileBase基类的GetPropertyValue和SetPropertyValue方法,分别用于配置文件属性值的检索和设置。ProfileCommon类的一个实例被设置为ASP.NET应用程序的Profile属性的值。 使用Profile与使用Session十分相似,但是更好用一些。与Session相似的地方在于,Profile是相对于一个特定的用户的,也就是说,每个Web应用程序的用户都有他们自己的profile对象。与Session不同的是,Profile对象是持久对象,因为他默认把信息保存在SQL Server Express数据库中,如果你向Session中添加一个项,在你离开网站时,该项就会消失,而Profile则完全不同,当你修改Profile的状态时,修改在多个访问之间均有效。还有另一点与Session不同,Profile是强类型的,Session对象仅仅是一个项集合而已,而profile对象则有强类型属性。 下边例子演示了使用个性化用户配置来保存匿名和登录用户信息:…

Hashtable使用案例

一、Hashtable简述 在.NET Framework中,Hashtable(哈希表)是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,key是区分大小写的;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/value键值对。 二、Hashtable使用案例

ASP.NET2.0个性化用户配置之SQL Server数据库配置

在默认情况下,当第一次执行与用户配置有关的应用程序时,系统将自动为该应用程序创建一个SQL Server 2005 Express 的特定数据库实例,该数据库实例存储于应用程序根目录下的App_Data文件夹中,名称为ASPNETDB.MDF。该数据库将默认包括存储用户配置属性数据的数据表,以及其他与实现用户配置功能相关的对象等。对于使用 SQL Server 2005 实施开发的人员来讲,只需要配置好 Web.Config 文件、正确调用 Profile 属性、ProfileManager类即可,而无需关心例如数据库表设计与维护工作。目前应用程序多使用 SQL Server 7.0/2000来实施存储,由于这些版本的数据库发布时间较早,因此,并不具备对个性化用户配置功能的内置支持。在这种情况下,如果需要在 SQL Server 7.0/2000 数据库中存储用户配置属性数据,则必须对数据库进行预先配置,然后,才能正确使用个性用户配置功能。 一、使用aspnet_regsql配置SQL Server数据库 1.在命令行下进入"C:\WINDOWS\Microsoft.NET\Framework\"文件夹;…

推荐使用Redirect(string url, bool endResponse)进行客户端重定向

当我们使用Response.Redirect("Default2.aspx")来进行客户端重定向时,是无条件的、立即进行重定向,这在ASP时代可能引发一些问题,比如在重定向前打开的数据库连接如果没在重定向时及时关闭的话就会导致服务器资源被大量占用,所以每次使用Response.Redirect时我们都得时刻记得去关闭释放那些资源,这个问题在ASP.NET2.0中已经得到了解决,在ASP.NET2.0中Response.Redirect有两个重载函数: 重载函数Redirect(string url, bool endResponse)的参数endResponse表示当前页的执行是否应终止,true 终止,false不终止,这样我们就可以使用Response.Redirect("Default2.aspx",false)来解决上述的问题:程序仍按原来的流程在不需要连接时关闭释放数据库连接即可,不用在Redirect前多加一步去关闭释放!下边再举个例子说明: Default.aspx.cs:…

使用类设计器设计类

随着Web应用程序越来越复杂,开发人员需要一种能够可视化创建应用程序模型的工具,VS2005提供了类设计器来帮助设计、查看和重构应用程序中的类和其他类型。下边我们来看看怎么用类设计器来设计一个类。 1.在App_Code文件夹右键菜单上选择"添加新项",选择"类关系图"模板,文件名为ClassDiagram.cd; 2.从工具箱类设计器中拖动一个类到ClassDiagram.cd的设计图面上; 3.设置类名、访问级别和保存位置并确定; 4.在ClassDiagram.cd的设计图面上选中刚添加的新类,在类详细信息窗口中添加方法、属性、字段和事件; 5.在ClassDiagram.cd的设计图面上可看到类的结构如下图示:…

C#的装箱和拆箱

装箱和拆箱是C#类型系统的核心。通过装相和拆箱操作,能够在值类型和引用类型中架起一座桥梁。换言之,可以轻松实现值类型与引用类型的互相转换。装箱和拆箱能够统一考察类型系统,任何类型的值最终都可以按照对象进行处理。 1.装箱 装箱的核心是把值类型转换为对象类型,或者转换为由值类型执行的接口类型。把一个值类型的值装箱,也就是创建一个对象并把这个值赋给这个对象。常见的装箱转换有4种: ·从任何值类型转换为对象类型; ·从任何值类型转换为System.ValueType类型; ·从任何值类型转换为值类型实现的任何接口类型; ·从任何枚举类型转换为System.Enum类型; 需要注意的是,装箱转换意味着复制一个欲被装箱的值。这与从引用类型转换为对象类型有着很大的不同。在后者中,转换后的值继续引用同一实例,只是将它当成对象类型而已。…

母版页的应用范围

我们通常都是在内容页中绑定母版页,其实在ASP.NET2.0中,母版页应用范围共有3种:页面级、应用程序级和文件夹级。 ·页面级 页面级母版页是最为常见的。只要通过属性设置,在内容页中正确绑定母版页即可,而内容页可以是应用程序中任意的aspx页面。示例代码如下: ·应用程序级 某些情况下,整个应用程序中多数页面都需要绑定同一母版页。这时,如果仍然使用页面级母版页的处理方法,会显得非常繁琐,而使用应用程序级母版页的处理方法会变得很便捷。即在应用程序配置文件Web.Config中,添加一个配置节,并设置其中的masterPageFile属性值为母版页URL地址。示例代码如下: 如果经过配置的Web.Config文件存储于根目录下,那么以上的配置内容将对整个应用程序产生作用。默认情况下,位于根目录下(包括子文件夹中)的所有aspx文件将会成为自动绑定MasterPage.master的内容页。在使用这些内容页时,不必如同在页面级的情况那样,为每个页面都设置MasterPageFile属性。需要注意在代码头必须包含如下设置:…

内容页面访问母版页控件的两种方法

母版页是ASP.NET2.0新增的一个功能,使用它可以更方便、更快速的创建风格一致的应用程序。.NET的母版页和Dreamweaver的模板非常的相似,但.NET的母版页更加强大,它除了能够实现创建风格一致的应用程序这一基本功能外,还允许内容页和母版页进行"通信",下边我们就来看看如何在内容页中访问母版页的控件。 我们先来创建一个母版页MasterPage.master: MasterPage.master.cs: 1.使用FindControl访问母版页中的控件 Default.aspx: Default.aspx.cs: 2.使用MasterType指令访问母版页中的控件 Default.aspx:…