文章分类 - asp.net
摘要:第一: privatevoidButton1_Click(objectsender,System.EventArgse) { Response.Redirect(Request.Url.ToString()); } 第二: privatevoidButton2_Click(objectsender,System.EventArgse) { Response.Write(" <scriptlanguage=javascript>window.location.href=document.URL; </script>"); } 第三: privatevo
阅读全文
摘要:请在这里下载示例代码 1 简介1.1 Log4net的优点:几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入了Log 输出代码,程序运行过程中就能生成并输出日志信息而无需人工干预。另外,日志信息可以输出到不同的地方(控制台,文件等)以备以后研究之用。Log4net就是为这样一个目的设计的,用于.NET开
阅读全文
摘要:方法、实例构造函数、索引和操作符都是根据它们的签名(signature)来识别的: 一个方法的签名从左至右,由方法的名字、类型参数的数目,以及每个形式参数的类型和种类(传值、传引用,或是输出参数)组成。因此,方法在形式参数的类型里出现的任何类型参数都不是根据它的名字来识别,而是根据在方法的类型参数列表中的序号位置来识别的。方法的签名不包含:返回类型,最右边参数的params修饰符,可选的类型形参限制。 实例构造函数的签名从左至右由每一个形式参数的类型和种类(传值、传引用,或是输出参数)组成。实例构造函数的签名不包含可以为最右边参数指定的params修饰符。 索引的签名从左至右由每一个形式...
阅读全文
摘要:泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。例子代码:class Program { static void Main(string[] args) { int obj = 2; Test<int> test = new Test<int>(obj); Console.WriteLine("int:" + test.obj); string obj2 = "hello world"; Test<string> test1 = new Test<st
阅读全文
摘要:虽然一直知道asp.net的对象模型是重中之重,但没花时间去系统的看下,今天把对象模型中的最重要的生命周期发上来,无论是和我一样的菜鸟还是早就了解这些的老鸟都看下,温故而知新吧 一旦HTTP页面处理句柄被明确的定义虽然一直知道asp.net的对象模型是重中之重,但没花时间去系统的看下,今天把对象模型中的最重要的生命周期发上来,无论是和我一样的菜鸟还是早就了解这些的老鸟都看下,温故而知新吧 一旦HTTP页面处理句柄被明确的定义了,ASP.NET运行时调用处理句柄的ProcessRequest方法来处理请求。通常,没有必要改变Page类提供的执行方法。页面执行是从FrameworkInitiali
阅读全文
摘要:-------- 调用存储过程,连接控件参数,显示数据 SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Data Source=.;Database=qdxt;Integrated Security=SSPI"; conn.Open(); SqlCommand comm = new SqlCommand(); comm.Connection = conn; comm.CommandType = CommandType.StoredProcedure; comm.CommandText =
阅读全文
摘要:先将前台GridView的列转换为模板,也即转换为静态Html页面view plain<asp:TemplateField HeaderText="状态"><EditItemTemplate><asp:Text...先将前台GridView的列转换为模板,也即转换为静态Html页面view plain<asp:TemplateField HeaderText="状态"><EditItemTemplate><asp:TextBox ID="TextBox1" runat=&qu
阅读全文
摘要:大家都容易把这两者搞混,我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料. 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点:1、不能实例化; 2、包含未实现的方法声明; 3、派生类必须实现未实现的方法,抽象类是抽象方法,接口则
阅读全文
摘要:在字符串处理中C#提供了String、StringBuffer、StringBuilder三个类。那么他们到底有什么优缺点,到底什么时候该用谁呢?下面我们从以下几点说明一下:1、 三者在执行速度方面的比较:StringBuilder >StringBuffer > StringString一旦赋值或实例化后就不可更改,如果赋予新值将会重新开辟内存地址进行存储。而StringBuffer类使用append和insert等方法改变字符串值时只是在原有对象存储的内存地址上进行连续操作,减少了资源的开销。因此:当需要进行频繁修改字符串的操作时先建立StringBuffer类对象进行操作,将
阅读全文
摘要:Dispose和Close基本上应该是一样的。Close是为了那些不熟悉Dispose的开发者设计的。因为基本上所有的developer都知道Close是干吗的(特别是对于那些有C++背景的developer)。 但是当我们写code时候,如果要实现Close和Dispose的时候,要注意Close和Dispose的设计模式。.net的一些class只提供Close,而且派生自IDisposable,并且隐藏了Dispose方法。是不是觉得很不明白了? 对这些class来说,关键在于它们显式的(explicitly)实现了IDisposable。对于隐式实现来说,你只需要调用"new
阅读全文
摘要:C#委托(Delegate)事件(Event)应用详解 (原)委托 (Delegate)委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。您可以通过委托调用方法。委托用于将方法作为参数传递给其他方法。事件处理程序就是通过委托调用的方法。与委托的签名匹配的任何可访问类或结构中的任何方法都可以分配给该委托。方法可以是静态方法,也可以是实例方法。这样就可以通过编程方式来更改方法调用,还可以向现有类中插入新代码。只要知道委托的签名,就可以分配您自己的方法。多播委托(Multi-Broadcast Delegate)多播委托是指引用多个方法委托。当调用委托时,它连续调用每个方法。为了把委托
阅读全文
摘要:using 关键字有两个主要用途: (一).作为指令,用于为命名空间创建别名或导入其他命名空间中定义的类型。 (二).作为语句,用于定义一个范围,在此范围的末尾将释放对象。using指令 ①允许在命名空间中使用类型,这样,您就不必在该命名空间中限定某个类型的使用: using System.Text; using PC.Company; ②为命名空间或类型创建别名。 using MyCompany = PC.Company; //命名空间的别名。 using Project = PC.Company.Project; //类型的别名 using引入命名空间,并不等于编译器编译时加载该命名空间所
阅读全文
摘要:<%# Bind("Subject") %> //绑定字段<%# Container.DataItemIndex + 1%> //实现自动编号<%# DataBinder.Eval(Container.DataItem, "[n]") %>通常使用的方法(这三个性能最好)<%# DataBinder.Eval(Container.DataItem, "ColumnName") %><%# DataBinder.Eval(Container.DataItem, "Colum
阅读全文
摘要:一、在控制台下使用委托和事件我们都知道,C#中有“接口”这个概念,所谓的“接口”就是定义一套标准,然后由实现类来具体实现其中的方法,所以说“接口,是一组类的抽象”。同样道理,我们可以将“委托”理解为“方法的抽象”,也就是说定义一个方法的模板,至于这个方法具体是怎么样的,就由方法自己去实现。我们知道接口的最大好处就是可以实现多态,同理,“委托”是可以实现方法的多态,当我们想调用某个具体方法的时候,我们不直接调用这个方法,而是去调用这个委托。当然,我们必须在具体方法和委托之间建立某种关联。下面我们来看例子。首先,我们定义一个委托:public delegate void SaySomething(
阅读全文
摘要:引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。将方法作为方法的参数 我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出一
阅读全文
摘要:作者:Infinities Loop概述ViewState是一个被误解很深的动物了。我希望通过此文章来澄清人们对ViewState的一些错误认识。为了达到这个目的,我决定从头到尾详细的描述一下整个ViewState的工作机制,其中我会同时用一些例子说明我文章中的观点,结论。比如我会用静态控件(declared controls)和动态控件(dynamic controls)两个方面来说明同一个问题。现在有关ViewState的文章可谓多如牛毛,你可能会说再写有关ViewState的文章无异于炒剩饭(我这篇文章便是:D)。但是我却不这么认为,如果把ViewState看成一匹野马的话,那么这匹野马
阅读全文
摘要:如果你做远程方法调用(RPC)时,比如,服务器端有个类A及对象a,客户端需要无视网络的存在,直接调用对象a。这种情况下,就需要把类A设计为可序列化的,那么它的实例a也就可以实例化了。 说得简单点,在服务器的 命名空间中的对象a,肯定不能直接被客户端的命名空间中的一个对象调用,这不可能,对吧。 但是如果你把服务器的对象a中的特征属性(不一定是所有属性)变成xml,传送到客户端,然后客户端用你给的特征属性可以模拟的生成一个对象a。 这个过程就是 rpc,而要把对象a变成xml,就是序列化,反之,把xml变成模拟对象a就是反序列化。 以上是rpc中的序列化。 实际使用中,把app关闭的时候,内存对象
阅读全文


浙公网安备 33010602011771号