代码改变世界

随笔分类 -  [01].NET技术

艾伟:ASP.NET跨页面传值技巧总结

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

艾伟:C#中抽象类和接口的区别

2011-08-29 00:09 by 狼人:-), 135 阅读, 收藏, 编辑
摘要: 对于抽象类以及接口的概念,大家都容易把这两者搞混,其实我也一样,在听李建忠老师的设计模式时,他也老把抽象类说成接口,弄的我就更糊涂了,所以找了些网上的资料。 一、抽象类: 抽象类是特殊的类,只是不能被实例化;除此以外,具有类的其他特性;重要的是抽象类可以包括抽象方法,这是普通类所不能的。抽象方法只能声明于抽象类中,且不包含任何实现,派生类必须覆盖它们。另外,抽象类可以派生自一个抽象类,可以覆盖基类的抽象方法也可以不覆盖,如果不覆盖,则其派生类必须覆盖它们。 二、接口: 接口是引用类型的,类似于类,和抽象类的相似之处有三点: 1. 不能实例化; 2. 包含未实现的方法声明; 3. 派生类必须实. 阅读全文

艾伟:如何编写一个C#程序

2011-08-29 00:09 by 狼人:-), 174 阅读, 收藏, 编辑
摘要: 在编写一个C#程序之前,我们首先讲一些必要的概念:注释,Main方法,及控制台下的人机对话(输入输出语句).1.注释:是指对某些不容易理解的事物的说明,那么在程序开发中的意义也是一样的.注释就是对我们所写的代码的说明,注释是不会影响你所开发的代码的任何执行的. C#当中共有三种注释分别为:单行文本注释:在程序中"//"描述一个单行的文本注释,我们一般写在语句后部或上部. //单行文本注释 多行文本注释:在程序中"/* ---------*/ "这样描述一个多行文注释. /**//*一场地震,生死两难;只道三四险,不知五月难;纵有六双眼,泪也流不完;七颗心 阅读全文

艾伟:C# 中的委托和事件

2011-08-29 00:09 by 狼人:-), 127 阅读, 收藏, 编辑
摘要: 引言 委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对Observer设计模式的意义,对它们的中间代码也做了讨论。 将方法作为方法的参数 我们先不管这个标题如何的绕口,也不管委托究竟是个什么东西,来看下面这两个最简单的方法,它们不过是在屏幕上输出 阅读全文

艾伟:ADO.NET Entity Framework简介

2011-08-29 00:09 by 狼人:-), 266 阅读, 收藏, 编辑
摘要: 下一代的ADO.NET的目标是要解决关系数据模型和实际应用程序需要模型之间的鸿沟,那么它是怎么做到的呢?我们都知道,建立在关系数据库基础之上的应用程序经常需要在不同的表之间做复杂的join操作来取得相关的数据。比如下面的例子: [图1] 这是一个普通的关系型数据库。这个结构主要描述了雇员的基本信息和雇员的销售情况。假如我们想取得所有在2006年1月1日招聘过来的全职员工的姓名和职务信息,那么就需要写如下的sql查询语句: 1SELECTc.FirstName,e.Title2FROMEmployeee3INNERJOINContactcONe.EmployeeID=c.C... 阅读全文

艾伟:Web Services的魅力

2011-08-29 00:02 by 狼人:-), 152 阅读, 收藏, 编辑
摘要: Web Services是当今最热门的企业级技术,越来越多的媒体热衷于谈论这个领域不断涌现的创新成果和各种联盟,已有的厂商纷纷宣布进入Web Services市场, 新兴的公司则从一开始就打起了实施Web Services的主意。 俗话说,无利不起早。Web Services之热也正源起于它的商业价值及其所蕴涵的商业利益。进一步讲,Web Services代表着Internet技术的重大发展,企业已经从 Internet技术中获得了种种利益,而Web Services将使这种利益更大化。Gartner Group于2002年提出:Web Services是人们思考如何获取和提供商业服务的一种. 阅读全文

艾伟:Azure Services Bus(服务总线)中的工作流(workflow)

2011-08-29 00:02 by 狼人:-), 408 阅读, 收藏, 编辑
摘要: 在Azure Services Platform上对于工作流服务的支持,一直是我很感兴趣的内容。当然也是疑问比较多的领域。鉴于这方面的资料太少,所以今天就从AzureServicesKit中的一个DEMO出发,来大概了解一下这方面相关内容。 注:今天的示例位于AzureServicesKit安装目录\Labs\Ex02-RoutingWithXPath\end文件夹。 (编辑注:是AzureServicesKit\Labs\IntroWorkflowService\Ex02-RoutingWithXPath\end文件夹) 该示例场景展示的是一个定单(order)流程,如下图: 注:图中的两. 阅读全文

艾伟:一个较完整的关键字过滤解决方案(上)

2011-08-29 00:02 by 狼人:-), 147 阅读, 收藏, 编辑
摘要: 如果您希望看到关键字过滤算法的话那么可能就要失望了。博客园中已经有不少关于此类算法的文章(例如这里和这里),虽然可能无法直接满足特定需求,但是已经足够作为参考使用。而本文的目的,是给出一个较为完整的关键字过滤功能,也就是将用户输入中的敏感字符进行替换——这两者有什么区别?那么就请继续看下去吧。:) 有趣的需求 关键字过滤功能自然无比重要,但是如果要在代码中对每个输入进行检查和替换则会是一件非常费神费事的事情。尤其是如果网站已经有了一定规模,用户输入功能已经遍及各处,而急需对所有输入进行关键字过滤时,上述做法更可谓“远水解不了近渴”。这时候,如果有一个通用的办法,呼得一下为整站的输入加上... 阅读全文

艾伟:一个简单的关键字过滤算法

2011-08-29 00:02 by 狼人:-), 265 阅读, 收藏, 编辑
摘要: 早上看到老赵的《一个较完整的关键字过滤解决方案(上)》文章,讲到怎样在项目中嵌入过滤方案的问题,以及提到 xingd 和 sumtec 两位大师发表的系列互拼的文章,在此我也忍不住谈谈自己遇到的问题以及一个的简化版的算法。 因为过滤关键字机制到处可见,于是聪明的网友就会想到各种各样的方法突破,例如: 1、中文会用繁体字的方法避开关键字扫描2、在关键字中间插入无意思的特殊字符,例如 * & # @ 等,而且个数可变3、使用谐音或拆字法变换关键字 在实现自己的算法时也有些问题: 4、随着时间推移,关键字列表会越来越大,有些论坛常用的正则表达式N次扫描的方法显得效率很低。5、关键字有不同的严 阅读全文

艾伟:WCF以Json格式返回对象,客户端以JS调用显示

2011-08-29 00:02 by 狼人:-), 306 阅读, 收藏, 编辑
摘要: 很少写东西,但是看到别人写的文章自己又禁不住写点,写了有时候又觉得不好意思给大家看! 今天好不容易鼓起勇气写点…… 这几天看了一些WCF的资料 第一感觉是:这玩艺太深了 第二感觉是:这玩艺,挺麻烦的(光配置就搞不明白) 今天调了半天,好不容易把这个返回Json对象,在客户端展示的实例给整理出来了。下面分享给大家 此实例:以IIS为Host承载 1、先建一个WCF Service 建一个ServiceContract接口1[ServiceContract] 2publicinterfaceIJsonWCFService 3{ 4/// 5///GetJsonResult 6/// 7/// .. 阅读全文

艾伟:MOSS 2007 项目的开发步骤

2011-08-29 00:02 by 狼人:-), 212 阅读, 收藏, 编辑
摘要: 如何利用Sharepoint开发一个完全不同于Sharepoint风格的站点,这是这篇文章要讨论的内容。以下是项目的开发步骤: 步骤1:定义基本的网站地图和设计 就像许多Web项目一样,基本的站点地图和设计告诉开发团队基本的功能需求。站点地图能够使我们知道在站点上的各种不同类型的页面,设计使我们知道需要使用什么样的Feature.两者会随着进程不断的变化,但是他们给我们提供了项目开始的基线。 步骤2:定义自己的Content Columns 和Content Types Content Types 是SharePoint的巨大特色,它为整个站点提供了底层结构。在项目的初期花费时间定义页面布局和 阅读全文

艾伟:新手应该如何有效地学习.net

2011-08-29 00:02 by 狼人:-), 147 阅读, 收藏, 编辑
摘要: 前言 对于新手来说,学习.NET编程是一件很痛苦的事情,这倒不是因为学习.NET是一件很难的事情,而是.NET是一个庞大的学习体系,对于新手来会感觉无从下手,从而造成永远都无法入门,看到别人成为高手的时候也只有羡慕的份。而网上很多高手介绍的方法又没有很强的可操作性,比如就叫你狂看书,狂看代码,狂写代码。当然这些方法是一种很好的学习方法,但对初学者来说,不是很合适。就算一些已经入了门的朋友,被人问到“你.NET到底学得怎么样?”时也很难全面系统地回答(我就曾经被一些公司这样问倒,一时真的感觉无从说起)。同时,本文章主要是为了抛砖引玉,也请大家也提出学习.NET的方法(同样也适合学习其他的知识). 阅读全文

艾伟:WM有约(三):下一次是什么时候?

2011-08-29 00:02 by 狼人:-), 164 阅读, 收藏, 编辑
摘要: Written by Allen Lee 不要留恋过去 怎样才能约束用户,不让其选择过去的日期呢?有一个很傻的办法,就是每次启动应用程序的时候,自动把MonthCalendar控件的MinDate属性的值设为今天。这样虽然禁止了用户选择过去的日期,却带来另外一些问题: 当月之前的日期无法查看。 和选项窗体的Min Date设置相冲。 有鉴于此,我们采用另一种办法,就是在用户选中某个日期时,判断这个日期是否已经过去,若是,则禁用Pin菜单项,若否,则启用Pin菜单项。那么,如何获知用户选中了某个日期?最简单的办法就是使用MonthCalendar控件的DateChanged事... 阅读全文

艾伟:.NET和J2EE该相互学习什么

2011-08-29 00:02 by 狼人:-), 118 阅读, 收藏, 编辑
摘要: [前言] 写这篇Post源于我既做过.NET开发又做过J2EE开发的经历。在这样的转变过程中,我对单一平台开发所带来的思维局限性有了很多清晰却零散的想法。在看了振河兄的页面间传递变量的方法及使用范围的讨论之后,我更能体会到在不同的平台进行开发,思维方式会是如此之不同,原来那些零散的想法也随之不断在脑海中涌现,让我有了写下这篇Post的冲动。其实我一直都在宣扬一种观点:技术之间是相通的,精于触类旁通,善于联想是我们程序员应有的优势。我们在专注.NET技术的时候,不妨在工作间隙休息的时候看看.NET外面的世界。 提到.NET和J2EE,一般都会想到它们之间兵戎相见,水火不容的关系,毕竟两者都在.. 阅读全文

艾伟:.NET框架4.0中都有些什么?

2011-08-29 00:02 by 狼人:-), 164 阅读, 收藏, 编辑
摘要: .NET 4.0让不同组件之间工作的更好 1. 兼容性一直是个令人很头疼的问题,在.NET 4.0中,在同一个进程中,不同运行时上的组件可以同时运行,我们称之为In process Side by Side。 2. 对于很多同时包含COM组件和托管代码的应用程序,Primary Interop Assembly (PIA) 一直程序在部署方面令人很头疼的问题。现在,.NET 4.0中加入了称为NO-PIA的新功能,使得Interop的版本类型匹配仅通过简单的属性(TypeIdentifierAttribute)和GUID就能实现,免去了繁杂的PIA部署,也减少了应用程序的部署大小。 3. P/ 阅读全文

艾伟:Silverlight 里如何实现隐式样式,ImplicitStyleManager 的实现思想

2011-08-29 00:02 by 狼人:-), 142 阅读, 收藏, 编辑
摘要: 在 WPF 中,我们可以方便的在全局范围定义一个样式,就可以应用到所有这种类型的对象,这就是所谓的隐式样式(implicit Style),比如: WPF中定义样式Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--><Window x:Class="WpfImplicitStyle.Window1" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/pres 阅读全文

艾伟:ORM With Versioning Control

2011-08-29 00:02 by 狼人:-), 113 阅读, 收藏, 编辑
摘要: 在一些场合,我们可能需要对业务实体进行版本控制。类似于源码管理工具一样,可以查看历史版本,可以回滚,可以Lock,一个业务实体对象,同一时刻只允许一个人进行更新操作。为了实现信息的可追溯性,这些功能应该是必不可少的。只是我们该在哪里去控制实体对象的版本呢? 我们希望将版本控制的功能,独立于某一个具体的业务实体,这样才可以实现最大共用和扩展性。显然,要实现这一功能最好的切入点应该是在数据持久层,也就是在实体持久化时,我们需要有一个统一的,通用化的接口来完成,同时在这里插入版本控制的功能。无疑,这里的最合适的持久化接口应该是ORM,那就相当于我们要实现一个带实现版本控制的ORM接口。 ... 阅读全文

艾伟:ASP.NET MVC,深入浅出IModelBinder,在Post方式下慎用HtmlHelper

2011-08-29 00:02 by 狼人:-), 190 阅读, 收藏, 编辑
摘要: 本文基于ASP.NET MVC Beta版本,正式版如有变动诸不另行通知! 在开始这个主题之前,我先简要介绍一下如何在ActionMethod中通过Form使用Post的方式进行传递参数。 原生类型参数传递 先看一个简单的示例: public ActionResult SimplePost(string number) { ViewData["Title"] = "SimplePost Page"; ViewData["Message"] = "Increase :"; #region Increase Simpl 阅读全文

艾伟:[WCF的Binding模型]之五:绑定元素(Binding Element)

2011-08-29 00:02 by 狼人:-), 131 阅读, 收藏, 编辑
摘要: 在上面的内容中,先后介绍了信道、信道管理器、信道监听器和信道工厂。从对象的创建来讲,信道管理器是信道的创建者。说的再具体点,客户端的信道通过信道工厂创建,服务端的信道通过信道监听器创建。但是信道工厂和信道监听器又是如果被创建出来的呢? 我们在一开始就已经说过,作为终结点三要素的绑定对象实现了所有的通信细节,并且通过创建信道栈实现了消息的传递。从这一点来说,绑定对象无疑是信道层所有通信对象的最终缔造者,所以信道工厂和信道监听器最终的创建都是靠绑定对象实现的。关于这个创建过程又和另一个重要的对象密切相关,那就是绑定元素。 1. 绑定元素(Binding Element) 绑定元素,顾名思义... 阅读全文

艾伟:Silverlight 2.0 之旋转木马

2011-08-29 00:02 by 狼人:-), 143 阅读, 收藏, 编辑
摘要: 序言:记得去年8月就开始接触Silverlight 1.0了,那时候刚出来,接触的人还不是很多,一位MVP讲师朋友说国内精通的也就几千人吧,因为自己对RIA一直也比较有兴趣,所以学起来也很快,想不到MS终于放出了2.0,立马给VS2008打上SP1的补丁,装上sl2.0 RTW(SDK),装上EB SP1... 正文:关于Sl2.0的一些新特性啥的我就不说了,直接切入正题,我之前在个人网站上的首页(见http://www.ajaxplaza.net/)一直是用Ajax来实现的,效率低不说,CPU那个使用率... 所以今天的主要内容就是使用SL2.0来实现旋转木马的效果,最终效果图如下(点我体验 阅读全文
上一页 1 ··· 45 46 47 48 49 50 51 52 53 ··· 56 下一页