ASP.NET编程
文章平均质量分 72
gooddasenlin
这个作者很懒,什么都没留下…
展开
-
Repeater的用法
原创 2007-11-14 10:41:00 · 699 阅读 · 0 评论 -
PetShop数据访问层之数据库访问设计
《解剖PetShop》系列之二二、PetShop数据访问层之数据库访问设计在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、P转载 2007-11-27 11:04:00 · 447 阅读 · 0 评论 -
Assembly.Load()不能加载程序集的问题
在编程中,使用反射(IoC)是一个很好的架构。在.Net中,System.Reflection命名空间提供了对反射的支持。然而,很多朋友在使用Assembly.Load()方法时, 却不能正确装载程序集。比如,很多朋友在模仿PetShop的框架时,使用这样的调用方式:string assemblyName = ConfigurationManager.AppSettings["webDAL转载 2007-11-27 11:06:00 · 2081 阅读 · 3 评论 -
PetShop4.0架构分析
刚开始打开PetShop项目的时候,我们未免会被如此多的项目吓一跳,不过只要用心的去分析,看懂它并不是非常难的事。 首先我们来看一下WEB项目,因为我们做WEB应用程序首先想到的就是看看页面是怎么实现的,然后一路追溯下去,直到看明白程序是如何把数据显示到页面和如何处理页面的数据的。 比如说首页吧,Default.aspx,我们看到首页很简单,大多数是静态的,只显示了一个Categor转载 2007-11-27 11:44:00 · 502 阅读 · 0 评论 -
Petshop4.0之“反射注入”技术
所谓“依懒注入”就是将应用程序所依赖的组件在运行时动态的加载到应用程序中。依赖注入的目标并非为应用程序添加更多的功能,而是提升了组件的重用性,并为应用程序搭建一个具有较强灵活性和扩展性的平台。在程序实现上就用Assembly.Load(AssemblyName).CreateInstance(typeName)在程序运行时动态创建实例.PetShop4.0中多次应用了与配置文件相强合的反射注入转载 2007-11-27 12:08:00 · 514 阅读 · 0 评论 -
PetShop 4.0 官方详解
Microsoft .NET Pet Shop 4:将 ASP.NET 1.1 应用程序迁移到 2.0 发布日期: 2006-5-9 | 更新日期: 2006-5-9适用于:Microsoft .NET Framework 2.0Microsoft Visual Studio 2005Microsoft Windows Server 2003Microsoft InterNET转载 2007-11-28 14:07:00 · 1152 阅读 · 0 评论 -
.Net 中的反射(反射特性) - Part.3
.Net 中的反射(反射特性) - Part.3反射特性(Attribute)可能很多人还不了解特性,所以我们先了解一下什么是特性。想想看如果有一个消息系统,它存在这样一个方法,用来将一则短消息发送给某人:// title: 标题;author:作者;content:内容;receiverId:接受者Idpublic bool SendMsg(string title, st原创 2008-02-20 10:19:00 · 613 阅读 · 0 评论 -
Net 中的反射(查看基本类型信息) - Part.2
Net 中的反射(查看基本类型信息) - Part.2反射概述 和Type类1.反射的作用简单来说,反射提供这样几个能力:1、查看和遍历类型(及其成员)的基本信息和程序集元数据(metadata);2、迟绑定(Late-Binding)方法和属性。3、动态创建类型实例(并可以动态调用所创建的实例的方法、字段、属性)。序章中,我们所采用的那个例子,只是反射的一个用途:查看类型成原创 2008-02-20 10:18:00 · 644 阅读 · 0 评论 -
Net 中的反射(序章) - Part.1
Net 中的反射(序章) - Part.1引言反射是.Net提供给我们的一件强力武器,尽管大多数情况下我们不常用到反射,尽管我们可能也不需要精通它,但对反射的使用作以初步了解在日后的开发中或许会有所帮助。反射是一个庞大的话题,牵扯到的知识点也很多,包括程序集、自定义特性、泛型等,想要完全掌握它非常不易。本文仅仅对反射做一个概要介绍,关于它更精深的内容,需要在实践中逐渐掌握。本文将原创 2008-02-20 10:17:00 · 741 阅读 · 0 评论 -
原来iframe也可以runat="server"
html页:cs页:if(){assignobject.Attributes.Add("src", "login.aspx");} 这样可是实现动态加载iframe原创 2007-12-11 14:33:00 · 2027 阅读 · 1 评论 -
PetShop的系统架构设计
《解剖PetShop》系列之一前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而转载 2007-11-27 11:03:00 · 540 阅读 · 0 评论 -
在asp.net下将log4net配置成可log到ms sql
log4net是一个优秀的开源日志项目,现将本人使用写成一个demo,如下 0:准备 去http://logging.apache.org/,可下载log4net,最新为1.2版本, 建立一个asp.net web 项目,并将log4net.dll添加到引用 1:建立数据表 Create TABLE [dbo].[Log] ( [Id] [int] IDENTITY (1, 1) NOT NULL转载 2007-11-27 10:28:00 · 422 阅读 · 0 评论 -
自定义日志记录文件
举例:邮件发送错误记录日志 日志记录接口:(ILogService.cs) public interface ILogService { void Write(string message); }日志记录接口(实现):(FileLogService.cs) public class FileLogService : ILogService {原创 2007-11-14 16:38:00 · 489 阅读 · 0 评论 -
C# 中的委托和事件
PDF版浏览:http://www.cnblogs.com/Files/JimmyZhang/Delegates-and-Events-in-CSharp.pdf更新记录:2007年 9月28日:事件的由来 引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容转载 2007-11-13 09:57:00 · 601 阅读 · 1 评论 -
使用 Visual C# .NET 通过 XPath 表达式查询 XML
System.Xml.XPath 本任务的内容 • 概要转载 2007-11-13 13:41:00 · 867 阅读 · 0 评论 -
面向对象开发中的数据控件绑定方案
在dotNET中,DataGrid, Repeater等控件的数据源只需要是一个从IEnumerable接口派上的对象就可以进行绑定了,所以可以将DataTable, DataView等作为数据源。在面向对象开发的中,一般我们会返回一个对象集合而不是一个DataTable, 而dotNet中的集合对象(如Array, ArrayList等)都实现了IEnumerable接口,故而也可以直接将对象集转载 2007-11-16 10:24:00 · 469 阅读 · 0 评论 -
GridView CheckBox当翻页时保存选中的项(viewstate)
1 属性 保存全选的项#region 属性 保存全选的项 2 3 protected ArrayList SelectedItems 4 { 5 get 6 { 7 if (ViewState["SelectedItems"] == null) 8 { 9 Vi转载 2007-11-20 13:26:00 · 1438 阅读 · 0 评论 -
关于GridView翻页checkBox状态保存的问题 (session)
主要功能:1.实现GridView的分页功能.2.实现GridView分页时候记录下checkBox的状态 主要代码:下面代码显示了GridView的使用AutoGenerateColumns="False" AllowPaging="True" PageSize="5" Width="324px" DataKeyNames="CategoryID" OnPageInd转载 2007-11-20 13:37:00 · 988 阅读 · 1 评论 -
ArrayList的使用
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小 2、如何使用ArrayList 最简单的例子:ArrayList List = new ArrayList();for( int i=0;iList原创 2007-11-20 13:39:00 · 443 阅读 · 0 评论 -
ArrayList用法 (经典)
System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一.优点1。支持自动改变大小的功能2。可以灵活的插入元素3。可以灵活的删除元素二.局限性跟一般的数组比起来,速度上差些三.添加元素1.publicvirtualintAdd(objectvalue);将对象添加到ArrayList的结尾处Ar原创 2007-11-20 13:41:00 · 673 阅读 · 0 评论 -
asp.net 多文件上传解决方案
可以动态的增加控件,多文件上传 MultiUpload.aspxhttp://www.w3.org/1999/xhtml" > 创建项目 function addFile() { var str = 中文名: document.getElementById(MyFile).insertAdjacentHTML("befo原创 2007-11-21 15:07:00 · 497 阅读 · 0 评论 -
ASP.NET URL Rewrite. URL重写
ASP.NET URL Rewrite. URL重写 URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程。 比如浏览器发来请求hostname/101.aspx ,服务器自动将这个请求中定向为http://hostname/list.aspx?id=101。url重写的优点在于: 缩短url,隐藏实际路径提高安全性 易于用户记忆和键入转载 2008-03-12 15:53:00 · 1598 阅读 · 1 评论 -
几个免费的 IIS URL 重写工具
ISAPI Rewrite http://www.helicontech.com/ 国内较多站点使用的工具,Discuz 提供的FOR IIS URL重写就是基于该工具完成的。Lite免费,F转载 2008-03-12 15:57:00 · 2074 阅读 · 0 评论 -
两款分页显示控件
两款分页显示控件 这只是分页显示控件,分页读取数据还得自己写(如:分页存储过程)1、SmartPager (开源、支持.NET2.0)主页:http://www.codeproject.com/KB/aspnet/SmartPager.aspx效果截图:2、AspNetPager (开源、支持.NET2.0)主页:http://www.webdiyer.com/AspNetPager/defa原创 2008-06-02 10:07:00 · 474 阅读 · 0 评论 -
做人、做事,做架构师——架构师能力模型解析
究竟是什么让你在同一个位置上——例如程序员或技术负责人——工作了三年、五年或者更久,而仍然得不到任何的发展空间?你觉得自己已成为技术圈中的大牛,并信心满满地去拿明天就要颁发的某某大奖,然而却仍然停留在同样的技术职位上,去年到今年涨的薪水甚至填不平物价升幅?于是,你开始对老板不满,对员工不满,对昨天升职的那个同事不满……你开始计划明天就要跑单,或者准备考虑提出加薪却又心怀忐忑。 如果转载 2008-06-02 10:43:00 · 574 阅读 · 0 评论 -
C# 面试题解析-请遍历页面上所有的TextBox控件并给它赋值为string.Empty
请遍历页面上所有的TextBox控件并给它赋值为string.Empty网上能查到的一些解法的问题第一种,遍历this.Controls代码如下:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->foreach (Co转载 2008-06-02 18:39:00 · 2446 阅读 · 0 评论 -
理解Session State模式+ASP.NET SESSION丢失FAQ [翻译]
作者:Patrick Y. Ng原文地址:http://forums.asp.net/7504/ShowPost.aspx译者:Tony Qu (来自BluePrint翻译团队)原文最后一次更新:2004年9月21日本文被分成两部分:1.“理解Session State模式”——帮助你理解三种Session State的不同之处2. FAQ1.理解Session State模式存储位置In转载 2008-09-08 11:26:00 · 500 阅读 · 0 评论 -
FormsAuthentication 简单使用
网站分为前台后后台管理页面,一般前台部设置用户访问权限,任何用户都可访问,但后台必须是注册用户才能登陆。【IIS 验证机制】 Asp.net验证分为两步。首先,IIS验证当前用户访问网站所使用的windows帐号是否有权限。如果IIS访问被配置为anonymous,则任何用户都能访问页面。 然后,在IIS验证完毕后,ASP.net开始执行自身的验证。验证模式可以在web.config文件中转载 2008-09-09 16:00:00 · 535 阅读 · 0 评论 -
从客户端检测到有潜在危险的Request.Form值
asp.net开发中,经常遇到“从客户端检测到有潜在危险的Request.Form 值”错误提示,很多人给出的解决方案是:1、web.config文档后面加入这一句: 示例: 2、在*.aspx文档头的page中加入validaterequest="false",示例如下: 其实这样做是不正确的,会给程序安全带来风险。 ASP.Net 1.1后引入了对提交表单转载 2008-09-09 18:13:00 · 545 阅读 · 0 评论 -
asp.net中使用窗体身份验证
代码下载:基于角色的窗体身份验证示例代码经常看到一些网友,自己写一些代码,判断用户是否登录,判断用户权限,例如使用Session,Cookie等,实际上微软替我们做好这些事情了,我们要做的只是调用一下。节省出时间可以去www.svnhost.cn看看。好了,废话不说,直接来代码吧!第一步:设置web.config,如果web.config中已经有authentication 只转载 2008-09-09 18:15:00 · 477 阅读 · 0 评论 -
Anti-Cross Site Scripting
跨站点脚本攻击开发攻击在那些没有进行输入验证和输入编码的web应用程序中,并嵌入到输出数据当中.恶意的用户可以注入客户端的脚本到输出数据中,并导致正常的用户浏览页面时,脚本代码被执行。攻击脚本代码将来自于一个信任的站点并且可能绕过浏览器的安装设置。 那些攻击是平台和浏览器无关的,它将允许恶意的用户在平台上执行恶意的行为,比如在客户端给未获得授权的访问,像cookies或者劫持转载 2008-09-09 09:38:00 · 887 阅读 · 0 评论 -
如何以根目录启动WEB项目进行测试
在web项目上查看它的属性页,在启动选项里做如下设置: 1外部程序:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/WebDev.WebServer.EXE2命令行参数: /port:4567 /path:"E:/billy/mis/pims" /vpath:"/" 端口 WEB项目原创 2008-06-25 14:32:00 · 539 阅读 · 0 评论 -
使用c#生成高品质小空间的缩略图
使用c#生成高品质小空间的缩略图 dot自带的生成缩略图的方法是Bitmap.GetThumbnailImage这个方法生成的缩略图不够清晰,一般我们会使用Graphics高质量插值发生成清晰的缩略图,这时候大小会不尽人意,怎么办?我们可以使用jpeg压缩的方法压缩一下图片,这样图片的大小会缩小到压缩前的十分之一。下面是完成这项工作的代码:压缩图片的三种方式Code highlightin转载 2008-06-02 18:56:00 · 681 阅读 · 0 评论 -
ASP.NET 2.0中的URL映射
URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因,你要将主页改为OriginalHome.aspx。此时使用URL映射让你可以映射到新页面,而不必通知用户。如果我们设置了URL映射,那么任何用户在UR原创 2008-06-02 09:40:00 · 517 阅读 · 0 评论 -
详解ASP.NET 2.0 中Cookies的Expires属性
ASP.NET 2.0 中Cookies的Expires属性详解response.cookies("cookiename").expires中expires的属性如下:response.cookies("cookiename").expires=-1 表示网页显示之后过期response.cookies("cookiename").expires=0 立即过期 response.cookies("转载 2008-01-16 19:56:00 · 1000 阅读 · 0 评论 -
.NET开发人员容易犯的6大安全错误
HP的白皮书《Top six security mistakes .NET developers make : are your web applications vulnerable ?》中提到:行业分析估计超过70%的安全问题是伴随应用程序一起发生的,很多是由于代码的安全性缺陷造成的。 微软在.NET中增加了不少的安全特性来帮助开发人员创建更加安全的应用程序。但是并不是每位开发人员都很转载 2008-01-23 17:58:00 · 433 阅读 · 0 评论 -
c# 反射的用法
在网上查找了不少的资料,可以说大同小异,概念性的东西网上一搜一堆,今天把反射的东西整理了一下,供大家使用,我保证我这里是最全面的东西,当然也是基础的东西,在学好了这一切的基础上,大家可以学习反射的具体插件等应用,老鸟就不用看了.首先我们建立一个类库,将它生成为HelloWorld.dll,using System; namespace Webtest ...{ public i转载 2008-04-17 17:01:00 · 571 阅读 · 0 评论 -
一个简单的 Reporting Services 报表示例
准备工作首先必须安装SQL Server 2005的高级版本,比如Enterprise和Development版,否则不会有Business Intelligence Development Studio的存在。其次就是配置好服务器与客户端,当然如果服务器就是本地机器就好办些,若是正统的C/S,出现远程连接问题的时候请参照我这篇blog文章:http://ustc.blog.hexun.c转载 2008-07-07 18:01:00 · 932 阅读 · 0 评论 -
所见即所得的导出到excel的方法
因为Excel可以打开html文件,所以我们可以把html文件的内容输出到一个xls文件里,这样就实现了所见即所得的输出。 public void outputExcel() { string printUrl = "要输出的报表文件.aspx”; // 此文件就是一个输出数据表格的网页,可以是html也可以是aspx原创 2008-05-07 15:17:00 · 909 阅读 · 0 评论 -
正则表达式基础知识
正则表达式基础知识 一个正则表达式就是由普通字符(例如字符 a 到 z)以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。如: JScriptVBScript匹配/^/[ /t]*$/"^/[ /t]*$"匹配一个空白行。转载 2008-08-22 10:20:00 · 421 阅读 · 0 评论