
C#技术
文章平均质量分 69
lincnl
.NET web开发
展开
-
客户端与服务端的数据交互 PageMethods + JSON
众所周知,web应用是一个比较“麻烦”的模式,既使数据可以正确的提交到服务器上(服务端操作),又要照顾到客户体验(客户端操作,如利用AJAX)。怎么能使数据提交到服务器上,而客户端又不需要刷新,还可以获得服务器端回传的消息,整个操作就好像是在客户端进行的一样?当然有办法,毕竟“只有想不到,没有做不到”嘛! 我开发的项目遇到的问题起初还真不是客户端和服务端数据交互的问题原创 2009-09-03 11:42:00 · 4808 阅读 · 0 评论 -
C#抽象工厂模式的几种实现方法及比较
利用设计模式可以使我们的代码更灵活,更容易扩展,更容易维护。各种面向对象的程序设计语言都提供了基本相同的机制:比如类、继承、派生、多态等等。但是又有各自的特色,C# 中的反射机制便是一个很重要的工具,好好地利用就可以在实际中发挥很大的作用。 我们来看一个例子: 我的程序中有需要一系列的对象,比如apple,orange…, 要想利用他们,我们就必须在程序中根据用户要求,然后一个个转载 2007-09-18 13:47:00 · 613 阅读 · 0 评论 -
C# 编码规范和编程好习惯
谁都会写代码!几个月的编程经验可以让你写出“可运行应用程序”。让它可运行容易,但是以最有效率的方式编码就需要下更多的功夫!要知道,大多数程序员在写”可运行代码,“而不是”高效代码“。我们在这个指南课程前面提到,你想成为你们公司”最尊贵的专业人员“吗?写”高效代码“是一项艺术,你必须学习和实践它。命名惯例和规范注记 : Pascal 大小写形式-所有单词第一个字母大写,其他字母小写。转载 2007-09-13 13:01:00 · 492 阅读 · 0 评论 -
实现接口
实现接口 1、显式实现接口成员 为了实现接口,类可以定义显式接口成员执行体(Explicit interface member implementations)。显式接口成员执行体可以是一个方法、一个属性、一个事件或者是一个索引指示器的定义,定义与该成员对应的全权名应保持一致。using System ;interface ICloneable { object Clone(转载 2007-09-13 11:32:00 · 733 阅读 · 0 评论 -
C#3.0入门系列(三)
GroupBy操作 换一种写作风格。本节讲groupby操作。在所有的Linq To Sql操作中,GroupBy是最难理解的一个。因为,这里和Sql的出入较大。而Group真的就能返回n多组。打开vs,新建一工程,加入System.Data.Linq.dll的引用。把northwind数据库做个映射,添加到工程里。创建一Northwind类的对象。在这里呢,我们要做分组统计,我们要先明白什转载 2007-09-12 14:56:00 · 1850 阅读 · 1 评论 -
覆盖虚接口
覆盖虚接口 有时候我们需要表达一种抽象的东西,它是一些东西的概括,但我们又不能真正的看到它成为一个实体在我们眼前出现,为此面向对象的编程语言便有了抽象类的概念。C#作为一个面向对象的语言,必然也会引入抽象类这一概念。接口和抽象类使您可以创建组件交互的定义。通过接口,可以指定组件必须实现的方法,但不实际指定如何实现方法。抽象类使您可以创建行为的定义,同时提供用于继承类的一些公共实现。对于转载 2007-09-13 11:33:00 · 558 阅读 · 0 评论 -
接口转换
接口转换 C#中不仅支持.Net 平台,而且支持COM平台。为了支持 COM和.Net,C# 包含一种称为属性的独特语言特性。一个属性实际上就是一个 C# 类,它通过修饰源代码来提供元信息。属性使 C# 能够支持特定的技术,如 COM 和 .Net,而不会干扰语言规范本身。C# 提供将COM接口转换为 C#接口的属性类。另一些属性类将 COM类转换为C# 类。执行这些转换不需要任何 I转载 2007-09-13 11:33:00 · 1133 阅读 · 0 评论 -
访问接口
访问接口 对接口成员的访问 对接口方法的调用和采用索引指示器访问的规则与类中的情况也是相同的。如果底层成员的命名与继承而来的高层成员一致,那么底层成员将覆盖同名的高层成员。但由于接口支持多继承,在多继承中,如果两个父接口含有同名的成员,这就产生了二义性(这也正是C#中取消了类的多继承机制的原因之一),这时需要进行显式的定义:using System ;interface转载 2007-09-13 11:31:00 · 711 阅读 · 0 评论 -
C#3.0入门系列(四)
Lambda表达式中Lifting Lambda表达式是由匿名方法演化而来的更加高级的形式。关于匿名方法,请参阅http://msdn.microsoft.com/msdnmag/issues/04/05/C20/。关于Lambda表达式的演化,请参阅http://msdn.microsoft.com/msdnmag/issues/07/06/csharp30/default.aspx?loc转载 2007-09-12 15:00:00 · 614 阅读 · 0 评论 -
C# 3.0 入门系列(一)
谈到dlinq,就不得不先说linq。让我们先看看什么是linq。linq是 Language Integrated Query的缩写。那么事实上dlinq就是 Database Language Integrated Query 的缩写。linq和dlinq最大的区别就在与linq是对内存进行操作,而dlinq的操作对象为数据库。我们先来看一个linq的例子。在这之前,你需要安装s2008 be转载 2007-09-12 14:34:00 · 1444 阅读 · 0 评论 -
关于MS SQL 2005和C#远程连接的详细设置
公司要使用sql server 2005数据库进行数据存储进行项目开发,装上之后和sql server 2000从配置上有些区别,尤其遇到的“严重”问题就是应用程序无法连接数据库,估计刚使用sql server 2005的朋友们也有不少为此头痛的!写一下我的解决方法,给大家提供各素材。(里面的图是网上截取的,已经验证过了,可以放心的按照图例配置)MSSQL2005要先装好!然后先我们要配置MS原创 2007-09-12 13:59:00 · 3461 阅读 · 0 评论 -
C#接口慨述
接口慨述 接口(interface)用来定义一种程序的协定。实现接口的类或者结构要与接口的定义严格一致。有了这个协定,就可以抛开编程语言的限制(理论上)。接口可以从多个基接口继承,而类或结构可以实现多个接口。接口可以包含方法、属性、事件和索引器。接口本身不提供它所定义的成员的实现。接口只指定实现该接口的类或接口必须提供的成员。 接口好比一种模版,这种模版定义了对象必须实现的方法,其目的就转载 2007-09-13 10:21:00 · 738 阅读 · 0 评论 -
C# 3.0语言规范
C# 3.0(C# Orcas——魔鬼)在C# 2.0的基础上引入了很多语言扩展,用以支持高级别的函数式风格类库的创建和使用。这些扩展使得结构性API构造具有与其他领域(如关系数据库和XML)中查询语言同等的表达能力。这些扩展包括: 具有隐式类型的局部变量,允许通过用于初始化的表达式来推断局部变量的类型。 扩展方法,使得对一个现存类型的扩展和构造具有附加方法的类型变为现实转载 2007-09-12 14:16:00 · 622 阅读 · 0 评论 -
c# 创建文件操作
C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"//myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewF转载 2007-10-04 22:58:00 · 16724 阅读 · 0 评论 -
C# .net 序列化
什么是序列化? ---.net的运行时环境用来支持用户定义类型的流化的机制。它是将对象实例的状态存储到存储媒体的过程。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本。 序列化的目的: 1、以某种存储形式使自定义对象持久化; 2、将对象从一个地方传递到另一个地方。转载 2008-02-15 10:05:00 · 679 阅读 · 0 评论 -
页面导出到Excel、Word、txt
一、定义文档类型、字符编码 Response.Clear(); Response.Buffer= true; Response.Charset="utf-8"; //下面这行很重要, attachment 参数表示作为附件下载,您可以改成 online在线打开原创 2007-11-26 15:04:00 · 1458 阅读 · 6 评论 -
获取中国标准时间(由美国官方时间折算)
using System.Net; using System.IO; using System.Text.RegularExpressions; //获取中国标准时间(由美国官方时间折算) private void GetNistTimeCN(out s原创 2009-06-30 15:57:00 · 4102 阅读 · 0 评论 -
使用嵌套 Repeater 控件和 Visual C# .Net 显示分层数据
出自微软的官方Repeater嵌套实例。此例简单易懂,适合初步学习和扩展试验。完整代码列表 loadTOCNode(2, summary);Nestedrepeater.aspx<asp:repeater id="childRepeater" datasource=<%# ((DataRowView)Container.Da转载 2008-06-23 14:13:00 · 777 阅读 · 0 评论 -
.NET委托:一个关于C#的睡前故事
.NET委托:一个关于C#的睡前故事2006-02-27 08:49作者:袁晓辉编译出处:blog责任编辑:方舟 紧耦合 从前,在南方一块奇异的土地上,有个工人名叫彼得,他非常勤奋,对他的老板总是百依百顺。但是他的老板是个吝啬的人,从不信任别人,坚决要求随时知道彼得的工作进度,以防止他偷懒。但是彼得又不想让老板呆在他的办公室里站在背后盯着他,于是就对老板做出承诺:无论何时,只要我转载 2008-09-03 15:05:00 · 606 阅读 · 0 评论 -
页面播放器制作
做了一个页面的视频播放器,功能简单,只是有些属性有记录意义。班门弄斧,请莫见笑! 功能:程序会检索指定目录下的文件,并形成文件列表显示在页面上,单击列表中的文件可以播放该文件。播放器可以以全屏方式显示,通过javascript脚本,获取播放文件的总时间和当前播放时间。时间匆忙,功能有限,有时间会将发掘的新功能加入其中,望大家批评斧正!前台代码如下:原创 2008-05-30 16:34:00 · 2386 阅读 · 0 评论 -
Factory模式和Abstract Factory模式
Factory模式 利用给Factory对象传递不同的参数,以返回具有相同基类或实现了同一接口的对象。 Abstract Factory模式 先利用Factory模式返回Factory对象,在通过Factory对象返回不同的对象! Java中的例子-----JAXP1.0.1 : 以下是用Simple API for XML(SAX) Pa转载 2008-05-12 10:02:00 · 573 阅读 · 0 评论 -
ASP.NET 2.0 AJAX中Webservice调用方法
ASP.NET 2.0 Ajax中能够在客户端js中很方便地调用服务器Webservice,以下为一些调用的示例。笔者安装的ASP.NET 2.0 AJAX 版本为AJAX November CTP。 三个示例分别为: 1 带参数的WS方法 2 不带参数的WS方法 3 参数类型为DataTable的WS方法 一、WebMethod 注意要点: 1转载 2008-05-12 09:35:00 · 457 阅读 · 0 评论 -
工厂方法(Factory Method)模式
一、 工厂方法(Factory Method)模式工厂方法(FactoryMethod)模式是类的创建模式,其用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。工厂方法模式是简单工厂模式的进一步抽象和推广。由于使用了多态性,工厂方法模式保持了简单工厂模式的优点,而且克服了它的缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建工作交给子类去做。这个核心类仅仅负转载 2008-05-12 10:03:00 · 582 阅读 · 0 评论 -
C#中的哈希表(Hashtable)应用
一.哈希表(Hashtable)简述在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。Hashtable中key/value键值对均为object类型,所以Hashtable可以支持任何类型的key/转载 2008-05-12 09:18:00 · 482 阅读 · 0 评论 -
C# 2.0 泛型编程
C#泛型演示class Stack{ private T[] store; private int size public Stack() { store = new T[10]; size = 0; } public void Push(T x) { store[size++] = x; } public v转载 2008-07-03 22:41:00 · 480 阅读 · 0 评论 -
使用IFrame编辑文本
使用IFrame框架做成文本编辑器。需要两个页面:default.html和editInfo.aspx页面,其中default.aspx作为主控页面,editInfo.html作为编辑页面。default.aspx页面中要包括一个iframe框架,以包含编辑页面。下面给出两个页面的代码:default.aspx -------------http://www.w3.org/原创 2008-02-28 17:32:00 · 2742 阅读 · 2 评论 -
c# 无法获取sybase中Text类型数据
获取sybase中Text类型数据时遇到了一个问题(c#代码): 在sybase数据库中有一列类型为text,名称为content,用来存储新闻内容。使用OleDbDataReader获取该列信息: DataTable dt = new DataTable(); ... ... OdbcDataReader dr = DSCmd.ExecuteReader();原创 2008-02-19 17:16:00 · 1848 阅读 · 0 评论 -
C# 动态生成Word文档
要使用C#操作word,首先要添加引用: 1、添加引用->COM->Microsoft Word 11.0 Object Library 2、在.cs文件中添加using Word;下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法) public str转载 2007-11-26 15:09:00 · 890 阅读 · 0 评论 -
定义接口及定义接口成员
定义接口 从技术上讲,接口是一组包含了函数型方法的数据结构。通过这组数据结构,客户代码可以调用组件对象的功能。 定义接口的一般形式为:[attributes] [modifiers] interface identifier [:base-list] {interface-body}[;] 说明: 1、attributes(可选):附加的定义性信息。 2、modi转载 2007-09-13 11:10:00 · 1426 阅读 · 0 评论 -
.NET中的Exception处理(C#)
摘要: 本文以C#为编程语言,讨论了 .NET 中的异常处理方式,主要包括 try/catch 块、finally语句、Exception 对象、throw语句等主题。 -------------------------------------------------------------------------------- 本文内容 理解异常的基本概念转载 2007-06-11 17:04:00 · 1178 阅读 · 0 评论 -
从.NET类库代码来看ASP.NET运行时
写在前面的话:网上讲ASP.net运行模式的好文章已经很多了,笔者本不用多此一举,另成一文。但从笔者自己的学习经验看,如果学到的这些知识不能对应到类库中的源代码,印象总归不够深刻,大有隔靴搔痒之感。只好自己写 三.ASP.net运行时,我们等待已久的纯托管代码环境 好,经过上面长久的铺垫,我们终于进入了托管代码的领域。经过前面的内容,我们知道,在托管代码中首先被执行的是一个ISAPIRunt转载 2007-08-30 21:03:00 · 562 阅读 · 0 评论 -
C# 字符串操作
1、从字符串中提取子串 StringBuilder 类没有支持子串的方法,因此必须用String类来提取。 string mystring="My name is ynn."; //Displays "name is ynn." Console.WriteLine(mystring.Substring( 3 )); //Displays "ynn" Console.WriteLine(mystri原创 2007-05-25 13:38:00 · 536 阅读 · 0 评论 -
.net web项目 调用webService
调用一个有存在的 webService:开发环境:.net 2003建立web项目webapplication1,添加web引用,输入URL(http://weburl/myWebService.asmx),需要时输入认证信息(用户名和密码),单击“添加引用”完成对webService项目的添加。在文件webform1.aspx中调用刚引用的webservice。(下面是程序片断)原创 2007-08-17 15:01:00 · 3776 阅读 · 0 评论 -
iBatisNet入门示例源码详解
下载ibatis软件包(http://ibatis.apache.org/dotnetdownloads.html)。2. 创建测试数据库,并在数据库中创建一个Person 表,其中包含三个字段:Name Type SizePER_ID Long Integer 4 not null转载 2007-08-17 15:41:00 · 3767 阅读 · 3 评论 -
ibatis入门介绍
IbatisNet(以下简称Ibatis)包括DataAccess和DataMapper两部分。整个Solution包括三个主项目:IBatisNet.CommonIBatisNet.DataAccessIBatisNet.DataMapper和一个辅助项目:IBatisNet.Common.Logging.Log4Net。Common项目是DataAccess和DataMapper的转载 2007-08-17 15:20:00 · 1618 阅读 · 0 评论 -
在.net开发中使用Log4Net组件
1 简介 1.1 Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API。因为一旦程序被部署以后,就不太可能再利用专门的调试工具了。然而一个管理员可能需要有一套强大的日志系统来诊断和修复配置上的问题。 经验表明,日志记录往往是软件开发周期中的重要组成部分。它具有以下几个优点:它可以提供应用程序运行时的精确环境,可供开发人员尽快找到应用程序中的Bug;一旦在程序中加入转载 2007-08-14 10:59:00 · 620 阅读 · 0 评论 -
Log4Net日志管理
A.Log4Net日志管理 Log4Net的日志级别如下: 级别 允许的方法 Boolean属性转载 2007-08-14 11:02:00 · 1360 阅读 · 0 评论 -
用C#制作一个最简单的Web Service
我们看看如何建立和部署一个最简单的Web服务。 建立Web服务1.在wwwroot目录下建立一个叫做Webservice的目录。2.建立下面这样一个文件:using System;using System.Web.Services;public class AddNumbers : WebService{ [WebMethod] public int Add(int a, int转载 2007-08-04 10:37:00 · 704 阅读 · 0 评论 -
log4net自定义错误日志实例
1、log4net配置 Web.config 2、log4net 操作类 ErrClass.csusing System;using log4net;namespace WebApplication1{ /// /// ErrClass 的摘要说明。 /// public原创 2007-08-03 15:08:00 · 1520 阅读 · 2 评论 -
日志记录组件[Log4net]详细介绍
因为工作中有要用到Log记录,找到一篇不错的文章,就转了过来。一 Log4net简介Log4net是基于.net开发的一款非常著名的记录日志开源组件。他最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件-log4j。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介。Log4转载 2007-08-02 16:01:00 · 823 阅读 · 0 评论