2012年9月26日

asp.net学习之GridView七种字段

摘要: asp.net学习之GridView七种字段asp.net中GridView绑定到数据源时,可以自动显示数据源的各个字段。只要设定其AutoGenerateColumns为TRUE即可。但这,自动显示有其不好的一面,因为不能自义定控制显示的样式。 解决以上的办法就是指定需要GridView显示的字段,GridView控件支持以下七种类型的Field: ● BoundField : 将数据项显示为文本 ● CheckBoxField : 将数据项显示为复选框 ● CommandField : 使用链接来支持编辑、删除或选中行 ● ButtonField : 将数据项显示为按钮(Imag... 阅读全文

posted @ 2012-09-26 14:32 baixp2008 阅读(336) 评论(0) 推荐(1)

asp.net学习之扩展GridView

摘要: asp.net学习之扩展GridView本节讨论如何从现有的控件,进而扩展成强大的,更定制的GridView控件1.扩展BoundField 默认的BoundField不能显示多文本,文字一多,就会扩大整个Table的Height值,解决这个问题的方法可以通过TemplateField加入Div控件来解决,但是,也可以从BoundField类上进行扩展,加入一点特有的功能,让他能够显示多文本 例1: 创建长文本字段 ===App_code\myControls.cs===CodeCode highlighting produced by Actipro CodeHighlighter (fre 阅读全文

posted @ 2012-09-26 14:31 baixp2008 阅读(282) 评论(0) 推荐(0)

asp.net学习GridView

摘要: asp.net学习GridView显示表格数据是软件开发中的一个周期性任务。ASP.NET 提供了许多工具来在网格中显示表格数据,例如 GridView 控件。通过使用 GridView 控件,您可以显示、编辑和删除多种不同的数据源(例如数据库、XML 文件和公开数据的业务对象)中的数据。1. GridView数据绑定基础 GridView大部份场合下都是用来绑定数据源,进行数据的显示。一般情况下,可以绑定到SqlDataSource控件,DataTable对象,DataView对象..也可以绑定到列表对象。 GrdiView提供了两种数据方式的绑定:DataSourceID与DataSou. 阅读全文

posted @ 2012-09-26 14:30 baixp2008 阅读(273) 评论(0) 推荐(0)

asp.net学习之DataList控件

摘要: asp.net学习之DataList控件DataList控件与Repeater控件一样由模板驱动,与Repeater控件不同的是: DataList控件默认输出是一个HTML表格.DataList在输出时已经在相应的模板上套上了表格标签,而Repeater则是模板是什么样,输出就是什么样. 1. DataList显示数据例1:使用DataList显示数据 CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><asp:DataList 阅读全文

posted @ 2012-09-26 14:28 baixp2008 阅读(280) 评论(0) 推荐(0)

asp.net学习之 数据绑定控件--表格绑定控件

摘要: asp.net学习之 数据绑定控件--表格绑定控件数据绑定 Web 服务器控件是指可绑定到数据源控件,以实现在 Web 应用程序中轻松显示和修改数据的控件。数据绑定 Web 服务器控件是将其他 ASP.NET Web 控件(例如 Label 和 TextBox 控件)组合到单个布局中的复合控件。 例如,诸如 DetailsView 控件等数据绑定控件可绑定到一个结果集,例如,包含每个雇员的姓名、地址、职务等信息的雇员表。在 DetailsView 控件中,可以将 Label 控件绑定到单个数据值(如名称或地址字段),以便在页面中创建数据布局。 使用数据绑定控件,您不仅能够将控件绑定到一个数.. 阅读全文

posted @ 2012-09-26 14:28 baixp2008 阅读(191) 评论(0) 推荐(0)

asp.net学习之ado.net(连接模式访问)

摘要: asp.net学习之ado.net(连接模式访问)ado.net框架支持两种模式的数据访问: 连接模式(Connected)和非连接模式(disconnected)。这一节介绍如何使用连接模式访问数据库中的数据,利用ADO.NET中的Connection,Command,DataReader来获取和修改数据库中的数据1. 连接模式的数据访问 连接模式要使用到的三个核心类: ● IDBConnection : 表示数据源的连接,所有Connection类的基类 SqlConnection实现了IDBConnection接口,用来与SQL Server数据源进行连接 ● DBCommand ... 阅读全文

posted @ 2012-09-26 14:27 baixp2008 阅读(231) 评论(0) 推荐(0)

GridView事件分析 (转)

摘要: GridView事件分析 (转)P1默认数据绑定过程编号事件名称作用E1DataBinding数据绑定之前触发,在这个事件之前(第一次生成GridView),GridView不存在行数据。E2RowCreated当GridView的数据源存在时,产生新的一行E3RowDataBound当GridView的数据源存在时,在调用F2之后,调用自身,为新生成的GridView的一行提供数据绑定。E4DataBound当所有的Row生成之后,并且绑定了数据,触发本事件。说明了GridView的事件绑定结束过程,调用GridView的DataBind可以激起数据绑定P1E1 ——> E2 ——&g 阅读全文

posted @ 2012-09-26 14:27 baixp2008 阅读(171) 评论(0) 推荐(0)

理解T-SQL: JOIN语句

摘要: 理解T-SQL: JOIN语句1. 联接查询JOIN包含了以下几种类型: Inner Join / Outer Join / Full Join / Cross Join 下面具体讨论这几种Join的用法2. 关于数据表 本次讨论的前提是基于以下两张数据表 ●Northwind.Employees EmployeeID LastName FirstName City Country ReportsTo ----------- -------------------- ---------- --------------- --------------- ----------- 1 Dav... 阅读全文

posted @ 2012-09-26 14:25 baixp2008 阅读(166) 评论(0) 推荐(0)

理解T-SQL: 触发器

摘要: 理解T-SQL: 触发器 触发器是一种响应特定事件的特殊类型的存储过程。有两种类型的触发器:数据定义语言(DDL)和数据操作语言(DML)触发器。 DDL能够响应某种方式(Create,ALter,Drop)修改数据库结构时激发; DML是附加在特定表和视图上的代码。程序不能显式调用触发器,触发器代码是某种事件产生后被自动执行。DDL是SQL Server2005新增的功能。 使用触发器能够满足数据库操作的一些高级功能,其中包括:能够强制引用的完整性,尤其是涉及到跨服务器,复杂数据关系时;能够创建审核跟踪,跟踪每一条记录实际修改历史;能够跨表、跨数据库进行Check约束等。1. 创建触发器.. 阅读全文

posted @ 2012-09-26 14:24 baixp2008 阅读(205) 评论(0) 推荐(0)

理解T-SQL:高级查询

摘要: 理解T-SQL:高级查询1. 子查询 子查询是嵌套在其它查询中常规的SQL查询,当需要一个Select语句作为数据部分的基础或另一个查询中的条件的要素时,就是创建子查询 子查询经常满足下列几种需求: a. 把一个查询分解成一系列的逻辑步骤 b. 提供一个列表作为where子句和[IN|EXSITS|ANY|ALL]的目标对象 c. 提供由父查询中每一条记录驱动的查找 值得注意的是:大部分子查询可以用联结来表示,在可以使用联结替代子查询的地方 ,联结通常是更可取的选择。● 嵌套子查询[nested subquery] 嵌套子查询只朝一个方向进行--要么返回一个用于外部查询的值,要么返... 阅读全文

posted @ 2012-09-26 14:24 baixp2008 阅读(166) 评论(0) 推荐(0)

理解T-SQL:数据库&表的创建、修改、删除

摘要: 理解T-SQL:数据库&表的创建、修改、删除这一节主要介绍使用SQL语言来进行数据库,及表的创建、修改和删除功能。使用SQL语言比使用图形界面会带来更快的效率,另外,学习好T-SQL对于写相应的脚本、存储过程都带来很大的便利。 本节讨论了以下几个方面: 创建和修改数据库,创建和修改表,主键/外键/UNIQUE/CHECK/DEFAULT约束, 创建和修改规则和默认值.1.创建数据库 创建数据库,默认情况下,一条命令就可以了:Create Database dbName; 但可以指定更多的选项来创建数据库,其命令语法格式如下: Code highlighting produced by 阅读全文

posted @ 2012-09-26 14:23 baixp2008 阅读(521) 评论(0) 推荐(0)

使用TransactionScope实现多数据库连接事务操作

摘要: 使用TransactionScope实现多数据库连接事务操作当应用程序需要在多个数据库中进行事务性操作的时候,使用TransactionScope类可以方便地实现应用程序的这一需求。只要对多个数据库的操作代码位于同一个事务范围内,即可实现多数据库连接的事务操作。技术要点本示例主要说明了如何在程序中使用TransactionScope实现多数据库连接事务操作,技术要点如下。— 因为位于同一个事务范围内的不同的数据库操作,程序视为同一个事务,所以使用事务范围能够简便地实现多数据连接的事务操作。— 在事务范围内应调用且仅仅调用一次Complete方法,当事务范围的Complete方法调用时,事务范围 阅读全文

posted @ 2012-09-26 14:22 baixp2008 阅读(311) 评论(0) 推荐(0)

SQL事务与ADO.NET事务

摘要: SQL事务与ADO.NET事务1 SQL事务 sql事务是使用SQL server自身的事务:在存储过程中直接使用Begin Tran,Rollback Tran,Commit Tran实现事务:优点:执行效率最佳限制:事务上下文仅在数据库中调用,难以实现复杂的业务逻辑。Demo:(所有demo,都以SQL Server自带的Northwind数据的表Region为例) 带事务的储存过程:CREATEPROCEDURE dbo.SPTransaction (@UpdateIDint,@UpdateValuenchar(50),@InsertIDint,@InsertValuenchar(50) 阅读全文

posted @ 2012-09-26 14:18 baixp2008 阅读(188) 评论(0) 推荐(0)

Asp.net页面之间传递参数的几种方法

摘要: Asp.net页面之间传递参数的几种方法Asp.net页面之间传递参数的几种方法 1、第一种方法: 通过URL链接地址传递 send.aspx: protected void Button1_Click(object sender, EventArgs e) { Request.Redirect("Default2.aspx?username=honge"); } receive.aspx: string username = Request.QueryString["username"];这样可以得到参数值。 2、第二种方法: 通过post方式。 se 阅读全文

posted @ 2012-09-26 14:17 baixp2008 阅读(98) 评论(0) 推荐(0)

ASP.Net 更新页面输出缓存的几种方法

摘要: ASP.Net 更新页面输出缓存的几种方法ASP.Net 自带的缓存机制对于提高页面性能有至关重要的作用,另一方面,缓存的使用也会造成信息更新的延迟。如何快速更新缓存数据,有时成了困扰程序员的难题。根据我的使用经验,总结了下面几种方法,概括了常见的几种情况,如有更好的方法欢迎补充。(1)Cache 对象缓存Cache 对象提供代码级的缓存,功能强大,可操作性强。更新这种缓存的方法很简单,只要调用 Cache.Remove(key) 方法就可以清除指定的缓存。代码如下:HttpRuntime.Cache.Remove(cacheEnmu.Key.ToString());下列代码清空所有 Cach 阅读全文

posted @ 2012-09-26 14:17 baixp2008 阅读(195) 评论(0) 推荐(0)

ASP.NET缓存解决方案和最佳实践

摘要: ASP.NET缓存解决方案和最佳实践ASP.NET缓存解决方案和最佳实践1、概述在ASP.NET应用程序构建过程中,为了提高应用程序的性能,缓存处理无疑是一个非常重要的环节。通常,我们将一些频繁被访问的数据,以及一些需要大量处理时间得出来的数据缓存在内存中,从而提高性能。例如,如果程序需要处理一张报表,这张报表的数据是关联的几张数据库表,并通过大量的计算得到的数据。我们知道表关联是比较耗时的,如果关联之后得出的数据再进行聚合排序等操作的话,那速度会更慢。因此,我们把查询的报表数据缓存起来,等下次用户再次请求时直接从内存中读取已经生成好的报表,这样对用户和程序无疑都是一件非常好的事情,用户减少了 阅读全文

posted @ 2012-09-26 14:16 baixp2008 阅读(248) 评论(0) 推荐(0)

ASP.NET跨页面传值的几种方法

摘要: ASP.NET跨页面传值的几种方法关于页面传值的方法,引发了很多讨论。看来有很多人关注这个,我就我个人观点做了些总结,希望对大家有所帮助。1. 使用QueryString变量QueryString是一种非常简单的传值方式,他可以将传送的值显示在浏览器的地址栏中。如果是传递一个或多个安全性要求不高或是结构简单的数值时,可以使用这个方法。但是对于传递数组或对象的话,就不能用这个方法了。下面是一个例子:a.aspx的C#代码private void Button1_Click(object sender, System.EventArgs e) { string s_url; s_url = &qu 阅读全文

posted @ 2012-09-26 14:16 baixp2008 阅读(148) 评论(0) 推荐(0)

深入ASP.NET数据绑定(上)

摘要: 深入ASP.NET数据绑定(上)在ASP.NET我们在使用Repeater,DetailsView,FormView,GridView等数据绑定模板时,都会使用<%# Eval("字段名") %>或<%# Bind("字段名") %>这样的语法来单向或双向绑定数据。但是我们却很少去了解,在这些语法的背后,ASP.NET究竟都做了哪些事情来方便我们使用这样的语法来绑定数据。究竟解析这样的语法是在编译时,还是运行时?如果没有深入去了解,我们肯定不得而知。这个简短的系列文章就是带我们大家一起去深入探究一下ASP.NET绑定语法的内部机理 阅读全文

posted @ 2012-09-26 14:14 baixp2008 阅读(174) 评论(0) 推荐(0)

深入ASP.NET数据绑定(中)——数据双向绑定机理

摘要: 深入ASP.NET数据绑定(中)——数据双向绑定机理在上一篇《深入ASP.NET数据绑定(上)》中,我们分析了在.NET中的数据绑定语法的一些内部机理。简单说来就是ASP.NET在运行时为我们完成了页面的动态编译,并解析页面的各种服务器端代码,包括数据绑定语法。而数据绑定的语法虽是一些<%# %>代码块,在生成的代码中,仍然使用了服务器端控件以及在DataBinding事件调用DataBinder.Eval方法来完成数据的绑定工作。所有的数据绑定模板控件都使用了这样的机制来进行数据的单向绑定,在.NET 2.0中新增了双向的数据绑定方式,主要用在GridView,DetailsVi 阅读全文

posted @ 2012-09-26 14:14 baixp2008 阅读(246) 评论(0) 推荐(0)

深入ASP.NET数据绑定(下)——多样的绑定方式

摘要: 深入ASP.NET数据绑定(下)——多样的绑定方式在这个系列的上篇中介绍了数据绑定语法的原理以及.NET中如何实现单向绑定,中篇我们简单的介绍了ASP.NET 2.0 中新增的Bind语法配合DataSourceControl来实现数据的自动双向绑定。这两部分的内容相对动态抽象并且不常接触,没有很好的源代码支持很难解释清楚,要想真正弄清它们的内部原理,还需要大家亲自动手去反编译分析动态编译的程序集。在了解了数据绑定语法的原理后,我还想来谈谈我中实践过程中遇到的一些问题以及其它实用的绑定技巧。首先我们就来说说,特殊字段名的问题。我们知道在数据库当中,如果表名或字段名中包含有一些特殊的不能是合法的 阅读全文

posted @ 2012-09-26 14:13 baixp2008 阅读(163) 评论(0) 推荐(0)

HTTP运行期与页面执行模型

摘要: HTTP运行期与页面执行模型HTTP运行期HTTP运行期处理客户端应用程序(例如Web浏览器)进入的一个Web请求,通过处理它的应用程序的适当组件路由请求,然后产生响应并发回提出请求的客户端应用程序。进入的HTTP Web请求最先由IIS Web服务器接收到,它在此请求基于ASP.NET已注册处理的扩展名传送到ASP.NET ISAPI上。HTTP运行期首先创建一个HttpContext对象的实例,它包含了当前正在处理的请求信息,接着创建在处理逻辑中涉及到的所有其他组件都可以使用的上下文对象。HttpContext实例提供了对请求对象(HttpRequest类的实例)和响应对象(HttpRes 阅读全文

posted @ 2012-09-26 14:12 baixp2008 阅读(227) 评论(0) 推荐(0)

Asp.net文件的上传与下载

摘要: Asp.net文件的上传与下载在我们实际的应用项目开发中,文件的上传和下载都是是必不可少的,可以说是随处可见。对于DotNet下的文件上传已经是一件再简单不过的事情了,.NET提供了强大的类库System.IO 来实现IO的所有操作。对于文件的下载也是非常简单的事情,下面我将总结一些我的实际经验,希望能给初学者们一点帮助。首先是文件的上传,文件上传必须要保证ASP.NET用户对你所要操作的服务器端文件夹有写的权限,这样剩下的事情就非常easy了,示例代码如下:/**////<summary>///文件上传///</summary>///<paramname=&qu 阅读全文

posted @ 2012-09-26 14:12 baixp2008 阅读(117) 评论(0) 推荐(0)

HttpModule

摘要: HttpModuleHttpModuleHttpModule是如何工作的当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于HTTP请求来讲,HttpModule是一个HTTP请求的“必经之路”,所以可以在这个HTTP请求传递到真正的请求处理中心(HttpHandler)之前附加一些需要的信息在这个HTTP请求信息之上,或者针对截获的这个HTTP请求信息作一些额外的工作,或者在某些情况下干脆终止满足一些条件的HTTP请求,从而可以起到一个Filter过滤器的作用。示例1:using System;usin 阅读全文

posted @ 2012-09-26 14:11 baixp2008 阅读(188) 评论(0) 推荐(0)

HttpModule 示例

摘要: HttpModule 示例概述从前面的章节我们知道HTTP Handler提供了类似于ISAPI Server Extention的功能,而HttpModule实现了类似于ISAPI Filter的功能。使用自定义的Handler会覆盖系统默认的Handler,而Module是可以多个同时存在的。HttpHandler与HttpModule简单来说其实都是对一个请求上下文的处理,但它们两个所处的功能角色是完全不一样的。我暂时还想不出一个既简单又能体现HttpHandler优点的场景来,其实Page类就是一个实现了IHttpHandler的类,在Ajax中也有相关的实现,以及Asp.Net Fo 阅读全文

posted @ 2012-09-26 14:10 baixp2008 阅读(166) 评论(0) 推荐(0)

HttpHandler

摘要: HttpHandler概述HttpHandler是一个HTTP请求的真正处理中心,也正是在这个HttpHandler容器中,ASP.NET Framework才真正地对客户端请求的服务器页面做出编译和执行,并将处理过后的信息附加在HTTP请求信息流中再次返回到HttpModule中。IHttpHandler是什么IHttpHandler定义了如果要实现一个HTTP请求的处理所必需实现的一些系统约定。HttpHandler与HttpModule不同,一旦定义了自己的HttpHandler类,那么它对系统的HttpHandler的关系将是“覆盖”关系。IHttpHandler如何处理HTTP请求当 阅读全文

posted @ 2012-09-26 14:09 baixp2008 阅读(148) 评论(0) 推荐(0)

深入详解DataTable

摘要: 深入详解DataTable前言:ADO.NET概述 在学习DataTable知识之前,我们有必要了解下ADO.NET。以下摘自MSDN:ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问。数据共享使用者应用程序可以使用 ADO.NET 来连接到这些数据源,并检索、处理和更新所包含的数据。ADO.NET 通过数据处理将数据访问分解为多个可以单独使用或一前一后使用的不连续组件。ADO.NET 包含用于连接到数据库、执行命令和检索结果的 .NET Framework 数据提供程序。您可以直接处理检索到的结. 阅读全文

posted @ 2012-09-26 14:09 baixp2008 阅读(274) 评论(0) 推荐(0)

4.0中的并行计算和多线程详解(一)

摘要: 4.0中的并行计算和多线程详解(一)并行计算部分 沿用微软的写法,System.Threading.Tasks.::.Parallel类,提供对并行循环和区域的支持。 我们会用到的方法有For,ForEach,Invoke。一、简单使用 首先我们初始化一个List用于循环,这里我们循环10次。(后面的代码都会按这个标准进行循环)Code Program.Data = new List<int>(); for (int i = 0; i < 10; i++) { Data.Add(i); } 下面我们定义4个方法,分别为for,foreach,并行For,并行ForEach。并 阅读全文

posted @ 2012-09-26 14:08 baixp2008 阅读(187) 评论(0) 推荐(0)

概括ADO.NET数据库连接的所有形式(基础)

摘要: 概括ADO.NET数据库连接的所有形式(基础) 可能大家进来会喷笔者,这么基础的知识还放在首页。那么笔者就要问问大家了,你可能熟悉其中部分数据库读取的形式,但是熟悉全部的估计很少,或者你完全忘记了,因为这些形式被封装到你自己框架的底层,自己搞过一两次就在也没有动手写过了。但是笔者觉得这部分知识是应该牢固掌握的,这个是基础。好如果是已经掌握的大侠,看看笔者写的内容,提出点建议或者补充笔者的内容。 好了废话不多说看 第一种 通过直接在cs文件中编写查询语句调用dbcom.ExecuteNonQuery();执行插入数据Code highlighting produced by Actipro... 阅读全文

posted @ 2012-09-26 14:07 baixp2008 阅读(156) 评论(0) 推荐(0)

4.0中的并行计算和多线程详解(二)

摘要: 4.0中的并行计算和多线程详解(二)多线程部分多线程在4.0中被简化了很多,仅仅只需要用到System.Threading.Tasks.::.Task类,下面就来详细介绍下Task类的使用。一、简单使用开启一个线程,执行循环方法,返回结果。开始线程为Start(),等待线程结束为Wait()。Code /// <summary> /// Task简单使用 /// </summary> private void Demo1() { int i = 0; Random r = new Random(DateTime.Now.Second); Task t = new Tas 阅读全文

posted @ 2012-09-26 14:07 baixp2008 阅读(129) 评论(0) 推荐(0)

异步操作(一)

摘要: 异步操作(一)笔者想说说这里为什么谈异步操作。其实这里跟笔者大学学到的系统结构相似,笔者还记得老师要笔者经常做的习题,就是许多外部设备并行工作,具体流程是这样的:设备1向CPU发出数据传送请求,CPU处理请求,下达命令,并发生中断,设备1通过通道或DMA方式进行管理数据的传送,然后是设备2向CPU发出数据请求,CPU处理请求,下达命令,......设备1向CPU发出数据传送完毕请求,CPU作出相应的处理(主要是完成数据传送完毕的收尾处理,还原到断点等等相关操作),也有可能是设备2数据传送完毕向CPU发出数据传送完毕请求,CPU作出相应的处理。这里体现了一个异步操作。如果这里用到的是同步操作的话 阅读全文

posted @ 2012-09-26 14:06 baixp2008 阅读(148) 评论(0) 推荐(0)

异步操作(二)

摘要: 异步操作(二)当然笔者认为触及这方面知识就就必须对委托很了解,这方面编程会用到委托,同时还要清楚C#为委托提供的语法便利,笔者发现异步操作和委托真是“绝配”了。笔者个人认为异步编程也会是将来的趋势,因为异步的程序(不能说绝对,但是大多数)效率还是比较高的。我们同时也在享受异步操作带来的优势,WEB服务器环境就是一个异步环境,每一个请求都是独立的线程。很难想象只能同步处理一个请求的WEB服务器有什么用? 定期执行受计算限制的异步操作System.Threadding命名空间中定义了一个Timer类,可以使用这个类让CLR定期地调用方法。Code highlighting produced by. 阅读全文

posted @ 2012-09-26 14:05 baixp2008 阅读(187) 评论(0) 推荐(0)

ASP.NET页面揭秘(二)

摘要: ASP.NET页面揭秘(二)这里主要谈谈Application类中的事件由前一篇文章可以知道,一旦出现了HttpContext类的一个实例,HttpRuntime类就会建立一个ASP.NET应用程序对象来完成该请求。一个应用程序包括HttpApplication类的一个实例。HttpApplication是一个global.asax派生的对象,处理所有被传递给某个虚文件夹得Http请求。一个正在运行的ASP.NET运行程序完全由它的虚拟文件来表示,并选择性地global.asax文件来表示。虚拟文件夹名称是一种键,Http运行库用它来选择表示哪一个正在运行的应用程序应当负责输入请求。Globa 阅读全文

posted @ 2012-09-26 14:04 baixp2008 阅读(123) 评论(0) 推荐(0)

ASP.NET页面揭秘(一)

摘要: ASP.NET页面揭秘(一)其实对这方面一直掌握的不够熟练,属于半桶水那种类型—一知半解,所以这次重新这阅读了《asp.net 2.0技术内幕》对这块知识又有了新的认识。 在基于IIS的Web服务器上可以访问的所有资源按文件扩展名进行分组。然后把任何一个输入的请求分配给特定的运行时模块处理。ISAPI(Internet Server Application Programming Interface)扩展在 IIS的上下文中处理Web的资源的模块。它就是一个普通的旧式Win32动态链接库(DLL),提供了大量有预定义名称和原型的API函数,为开发人员提供了更加强大的对于IIS功能的扩展。II. 阅读全文

posted @ 2012-09-26 14:04 baixp2008 阅读(126) 评论(0) 推荐(0)

反射我该用什么?——TypeDescriptor家族和Type家族大比拼

摘要: 反射我该用什么?——TypeDescriptor家族和Type家族大比拼可能有所经验的老鸟都知道,反射有两种用法:使用TypeDescriptor(包括PropertyDescriptor等)或者Type(包括PropertyInfo等MemberInfo)。但是我相信绝大多数童鞋们都很疑惑,微软为什么要整出两种反射呢?也不是是很清楚,这两种反射的区别在哪,在什么情况下应该用哪种反射,它们各自的性能如何? 其实玄机就在它们的namespace里,Type家族的namespace是System.Reflection(不包括Type类型本身); 而TypeDescriptor家族的namespa. 阅读全文

posted @ 2012-09-26 14:03 baixp2008 阅读(249) 评论(0) 推荐(0)

对.net事件的看法

摘要: 对.net事件的看法一、事件的本质事件是软件系统里的两个子系统之间,或者两个模块之间,或者两个对象之间发送消息,并处理消息的过程。在面向对象的世界里,就可以统一认为是两个对象之间的行为。两个对象之间发送的这种消息,对发送方来讲是产生一个事件,对接受方来讲是需要处理某个事件。这种消息可以是用户操作产生的或者软件系统里的某个对象产生的。对象之间的事件处理从上图可见,对象一产生一个事件,这个事件发生以后需要对象二执行某种动作。这就是事件机制。对象一是事件的产生者,或者发送者;对象二是事件的接收者或者订阅者。对象一产生某种消息,需要对象二响应并处理这给消息,这就是事件的本质。以往的很多软件系统都在采用 阅读全文

posted @ 2012-09-26 14:02 baixp2008 阅读(132) 评论(0) 推荐(0)

.Net的异步机制(委托Delegate) - STEP 1

摘要: .Net的异步机制(委托Delegate) - STEP 1在阅读下面知识前,我已经认为你已经具有c#的基础,包括简单的委托知识; 代码使用VS2008开发,但是会在.Net Framework 2.0(C Sharp)编写什么是.Net异步机制呢? 在解释这个话题前,我们先看看同步的程序,就是我们常用的Hello World 程序。Code 1:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1classProgram2{3staticvo 阅读全文

posted @ 2012-09-26 14:02 baixp2008 阅读(202) 评论(0) 推荐(0)

什么是.Net的异步机制(Invoke,BeginInvoke,EndInvoke) - step 2

摘要: 什么是.Net的异步机制(Invoke,BeginInvoke,EndInvoke) - step 2们怎样进行异步编程/开发?现在扩充下上篇文章的类(AsyncTest),提供更多的例子并从中做下简单的对比, 从新的认识下异步的内部机制,下面我们增加一个新的委托1步,我们添加一个新方法(计算年薪YearlySalary)public decimal YearlySalary(decimal salary, int monthCount, decimal bonus);2步,为这个方法增加异步的功能,这样我们仍然使用委托(Delegate)public delegate decimal Sal 阅读全文

posted @ 2012-09-26 14:00 baixp2008 阅读(181) 评论(0) 推荐(0)

什么是.Net的异步机制(APM核心:IAsyncResult) - step 3

摘要: 什么是.Net的异步机制(APM核心:IAsyncResult) - step 3异步的核心: IAsyncResultAsynchronous Programming Model 整个异步调用过程中都是围绕IAsyncResult来进行的,大家可以看看上篇文章的例子,BeginXXX 返回这个对象,EndXXX接收这个对象来结束当前异步对象,下面我们来看看IAsyncResult 接口成员/和实现此接口的AsyncResult类成员(其中有些在上篇中已经涉及到)IAsyncResult接口Code highlighting produced by Actipro CodeHighlighte 阅读全文

posted @ 2012-09-26 13:59 baixp2008 阅读(145) 评论(0) 推荐(0)

什么是.Net的异步机制(异步Stream读/写) - step 4

摘要: 什么是.Net的异步机制(异步Stream读/写) - step 4异步的Stream读/写操作下面是继承于System.IO.Stream的类System.IO.StreamMicrosoft.JScript.COMCharStreamSystem.IO.BufferedStreamSystem.IO.FileStreamSystem.IO.MemoryStreamSystem.IO.UnmanagedMemoryStreamSystem.Security.Cryptography.CryptoStreamSystem.Printing.PrintQueueStreamSystem.IO.P 阅读全文

posted @ 2012-09-26 13:58 baixp2008 阅读(240) 评论(0) 推荐(0)

什么是.Net的异步机制(线程间通信) - step 5

摘要: 什么是.Net的异步机制(线程间通信) - step 5前几篇文章我已经对异步的操作进行的详细的解释.异步操作也是线程的一种,当我们开始一个异步操作(新线程),完成调用后需要和其他线程通信(可能需要告知状态信息),这时候我们就需要线程间的通信编程.线程间通信我们看下面的图图1我们来看线程间通信的原理:线程(Thread B)和线程(Thread A)通信, 首先线程A 必须实现同步上下文对象(Synchronization Context), 线程B通过调用线程A的同步上下文对象来访问线程A,所有实现都是在同步上下文中完成的.线程B有两种方式来实现线程间的通信.第一种:调用线程A的同步上下文对 阅读全文

posted @ 2012-09-26 13:57 baixp2008 阅读(138) 评论(0) 推荐(0)

深入ASP.NET数据绑定

摘要: 深入ASP.NET数据绑定在ASP.NET我们在使用Repeater,DetailsView,FormView,GridView等数据绑定模板时,都会使用<%# Eval("字段名") %>或<%# Bind("字段名") %>这样的语法来单向或双向绑定数据。但是我们却很少去了解,在这些语法的背后,ASP.NET究竟都做了哪些事情来方便我们使用这样的语法来绑定数据。究竟解析这样的语法是在编译时,还是运行时?如果没有深入去了解,我们肯定不得而知。这个简短的系列文章就是带我们大家一起去深入探究一下ASP.NET绑定语法的内部机理,以让 阅读全文

posted @ 2012-09-26 13:56 baixp2008 阅读(185) 评论(0) 推荐(0)

深入理解.net服务器控件

摘要: 深入理解.net服务器控件控件生命周期1.初始化(对应Oninit方法)这里页面通过ProcessRequest方法来递归遍历它的子控件(即页面中的空间,其实页面也算控件)。使子控件依次调用它们的Oninit方法。我们这里可以重写控件的OnInit方法,来扩展控件功能或增加初始化内容。在本阶段还要打开视图状态跟踪功能,调用TrackviewState方法,这样存储在viewState对象里面的值在页面回发时才能正确灰复到控件属性中。2.加载视图状态(对应LoadViewState方法)本阶段仅在页面回发时才执行,加载视图状态到控件。在第一次访问页面时我们还没有获得存储到视图状态的状态数据。3. 阅读全文

posted @ 2012-09-26 13:54 baixp2008 阅读(109) 评论(0) 推荐(0)

DataGridView七十二般绝技

摘要: DataGridView七十二般绝技一、ObjectDataSource的重要属性: SelectedMethod:获取或设置检索数据的函数或方法的名称 InsertMethod:获取或设置插入数据的函数或方法的名称 UpdateMethod:获取或设置更新数据的函数或方法的名称 DeleteMethod:获取或设置删除数据的函数或方法的名称 TypeName:获取或设置ObjectDataSource对象表示的类的名称,即业务对象的类名二、GridView中的七种字段 BoundField : 将数据项显示为文本 CheckBoxField : 将数据项显示为复选框 Co... 阅读全文

posted @ 2012-09-26 13:53 baixp2008 阅读(199) 评论(0) 推荐(0)

ASP.NET页面跳转的几种方法

摘要: ASP.NET页面跳转的几种方法<a>标签1. <a href=”test.aspx”></a>2. 这是最常见的一种转向方法;HyperLink控件 1. Asp.net 服务器端控件 属性NavigateUrl指定要跳转到的Url地址2. NavigateUrl是可以在服务器端使用代码修改,这个区别于<a>3. 由于HyperLink本身没有事件所以要在服务器端其它事件中设置NavigateUrl4. 代码示例<Asp:HyperLink id=”hyperlink” runat=”server” NavigatoeUrl=”test. 阅读全文

posted @ 2012-09-26 13:53 baixp2008 阅读(212) 评论(0) 推荐(0)

asp.net页面间传值的9种方式

摘要: asp.net页面间传值的9种方式1. Get(即使用QueryString显式传递) 方式:在url后面跟参数。 特点:简单、方便。 缺点:字符串长度最长为255个字符;数据泄漏在url中。 适用数据:简单、少量、关键的数据。 适用范围:传递给自己、传递给另一个目标页面;常用于2个页面间传递数据。 用法:例如:url后加?UserID=…,跳转到目标页面,目标页面在伺服端可用Request.QueryString["InputText"]获取其指定参数值。http://www.itokit.com2. Post 方式:通用的方式。利用form提交。 特点:最常用的方法。常 阅读全文

posted @ 2012-09-26 13:52 baixp2008 阅读(106) 评论(0) 推荐(0)

ASP.NET中的数据绑定:哪个更快?

摘要: ASP.NET中的数据绑定:哪个更快?ASP.NET使用动态编译技术,在运行时动态将同一目录的*.aspx文件先生成*.cs,然后调用CompilerServices将其编译成assemblies(可以到你的%SYSTEMROOT%\Microsoft.NET\Framework\V1.x.xxxx\Temporary ASP.NET Files下面看看)。因此了解ASP.NET编译的过程是优化ASP.NET运行效率的关键之一。以常用的数据绑定语法为例,我们可以发现它的转化规则是:.aspx: ->.cs: System.Convert.ToString(data-binding exp 阅读全文

posted @ 2012-09-26 13:51 baixp2008 阅读(120) 评论(0) 推荐(0)

ASP.Net 数据绑定之-----选择合适的数据控件

摘要: ASP.Net 数据绑定之-----选择合适的数据控件DataGrid,DataList,Repeater是我们最常使用的表格化数据显示控件。在它们之间你是不是曾经不知道该怎么选择呢?怎样才能选择到最适合的控件呢?看了以下的内容你大概就会明白了. 这三个控件大家肯定都非常的熟悉了,我们直接看看它们该在什么场合使用,有什么区别吧。如果你想要快速、简单的开发:选择DataGrid 如果你想要轻量级的、只读的表格化显示:选择Repeater 如果你想要小巧的、快速的解决方案:选择Repeater(最快)选择DataList(比较快)如果你想要自定义模板的显示:选择Repeater选择DataLis. 阅读全文

posted @ 2012-09-26 13:50 baixp2008 阅读(135) 评论(0) 推荐(0)

XML格式与DataTable、DataSet、DataView格式的转换

摘要: XML格式与DataTable、DataSet、DataView格式的转换今天用到一个功能:就是把从数据库读出来的内容转换成XML字符串流格式,并输出给一个功能函数。在写的过程,为方便以后的使用,我对这一功能进行分装。该类的具体格式如下:XmlConvert类命名空间:Nimeux.XmlConvertXmlToData子类函数:1、public static DataSet CXmlToDataSet(string xmlStr)将xml字符串转换成DataSet2、public static DataTable CXmlToDatatTable(string xmlStr, int tab 阅读全文

posted @ 2012-09-26 13:49 baixp2008 阅读(133) 评论(0) 推荐(0)

深入.NET DataTable

摘要: 深入.NET DataTable1、ADO.NET相关对象一句话介绍1)DataAdapter:DataAdapter实际是一个SQL语句集合,因为对Database的操作最终需要归结到SQL语句。2)Dataset:DataSet可以理解成若干DataTable的集合,DataSet在内存里面维护一个表集合包括表间关系。对于.NET Framework 2.0之前的版本,DataSet在ADO.NET中拥有至关重要的作用,但在其后的版本中,由于DataTable类的完备(例如与XML相关的几个方法以及Merge方法),其作用稍有削弱,甚至于有些情况下你去初始化一个DataSet对象本身就是多 阅读全文

posted @ 2012-09-26 13:48 baixp2008 阅读(151) 评论(0) 推荐(0)

DataSet,DataTable,DataView

摘要: DataSet,DataTable,DataView DataSet :表示数据在内存中的缓存。 命名空间: System.Data 程序集: System.Data(在 System.Data.dll 中) DataSet 是 ADO.NET 结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。DataSet 由一组 DataTable 对象组成,您可使这些对象与 DataRelation 对象互相关联。您还可通过使用 UniqueConstraint 和 ForeignKeyConstraint 对象在 DataSet 中实施数据完整性。 尽管 DataTable 对象中包含数据.. 阅读全文

posted @ 2012-09-26 13:46 baixp2008 阅读(127) 评论(0) 推荐(0)

导航