木子屋 Dnawo's BLOG

分类:Web编程

共 944 篇

.NET程序出错:未将对象引用设置到对象的实例

出错代码片段为: 想实现的是当Session中的值为空时菜单显示未登录状态,否则显示登录状态。以前在ASP中都是用If Session("username") = "" Then类似语句进行判断的,但在.NET中却不行,Session在未初始化时值应是null,所以上边代码片断应改为:

C#中接口的作用

假设我们公司有两种程序员:VB程序员,指的是用VB写程序的程序员,用clsVBProgramer这个类表示;Delphi程序员指的是用Delphi写程序的程序员,用clsDelphiProgramer这个类来表示。 每个类都有一个WriteCode()方法。定义如下: 现在公司来了一个项目,要求派某个程序员写一个程序。 在主程序中我们可以这样写: 但是如果这时公司又来了一个C#程序员,我们怎么改这段程序,使它能够实现用C#写程序的功能呢?我们需要增加一个新类clsCSharpProgramer,同时在此clsProject这个类中要再次重载WritePrograme (clsCSharpProgramer programer)方法。这下麻烦多了。如果还有C程序员,C++程序员,JAVA程序员呢。麻烦大了!…

客户端脚本验证:ASP.NET Vs ASP

一、ASP.NET和ASP客户端脚本验证举例 ASP.NET例子: ASP例子: 二、总结 1.在ASP.NET中无论给服务器端 Form 的 action 属性设置什么值,它都只能将表单提交给当前页;要实现将各类表单(登录、搜索等等)分别发送到不同的页面中处理可通过设置服务器端 Button 的 PostBackUrl 属性。 2.在ASP.NET中最好不要将客户端脚本验证放在服务器端 Form 的 onsubmit 属性中,因为在ASP.NET中一页只能有一个服务器端 Form 标记,如果一个页中同时有几类表单这将变得没验证,最佳的方法是将客户端脚本验证放在服务器端 Button 的 OnClientClick 属性中。

ASP.NET Session详解

一、阅读本文章之前的准备 阅读本文章前,需要读者对以下知识有所了解。否则,阅读过程中会在相应的内容上遇到不同程度的问题。 ●懂得ASP/ASP.NET编程 ●了解ASP/ASP.NET的Session模型 ●了解ASP.NET Web应用程序模型 ●了解ASP.NET Web应用程序配置文件Web.config的作用、意义及使用方法 ●了解Internet Information Services(以下简称IIS)的基本使用方法 ●了解如何在Microsoft SQL Server中创建一个数据库。 二、Session模型简介 Session是什么呢?简单来说就是服务器给客户端的一个编号。当一台WWW服务器运行时,可能有若干个用户浏览正在运正在这台服务器上的网站。当每个用户首次与这台WWW服务器建立连接时,他就与这个服务器建立了一个Session,同时服务器会自动为其分配一个SessionID,用以标识这个用户的唯一身份。这个SessionID是由WWW服务器随机产生的一个由24个字符组成的字符串,我们会在下面的实验中见到它的实际样子。…

抽象工厂模式

摘要:介绍了抽象工厂模式的基本概念,并给出了c#语言编写的程序示例 抽象工厂模式向客户端提供一个接口,使得客户端在不必指定具体类型的情况下,创建多个产品族中的对象。本文采取的仍然是接着以前的那个快餐店的例子。 现在,快餐店经常良好,逐渐发展壮大,为了适合不同地方人的饮食习惯,创建了两大系列(相当于产品族)快餐,北方系列和南方系列。每个系列分别由一个大厨掌勺。 抽象工厂模式对新的产品族支持开闭原则,但对新的产品不支持开闭原则。例如增加新的产品族,如增加美国系列快餐(相当于增加了一个产品族),则只要从每个产品接口继承一个相应美国系列产品即可,不需要更改已有的代码。但如果增加新产品,比如增加了“馒头”这个产品,则它是不支持开闭原则的,因为你要在厨师接口中,增加返回“馒头”的方法,这就要修改已存在的接口,而修改了上层接口,继承此接口的具体类也要随之改变。…

抽象类和接口的比较

1. 引言 在我之前的一篇post《抽象类和接口的谁是谁非》中,和同事管伟的讨论,得到很多朋友的关注,因为是不成体系的论道,所以给大家了解造成不便,同时关于这个主题的系统性理论,我认为也有必要做以总结,因此才有了本篇的新鲜出炉。同时,我将把上贴中的问题顺便也在此做以交代。 2. 概念引入 ●什么是接口? 接口是包含一组虚方法的抽象类型,其中每一种方法都有其名称、参数和返回值。接口方法不能包含任何实现,CLR允许接口可以包含事件、属性、索引器、静态方法、静态字段、静态构造函数以及常数。但是注意:C#中不能包含任何静态成员。一个类可以实现多个接口,当一个类继承某个接口时,它不仅要实现该接口定义的所有方法,还要实现该接口从其他接口中继承的所有方法。…

[Microsoft][ODBC Excel Driver] 数值字段溢出

使用Excel作数据库进行查询并显示字段值时老是提示错误: 数值字段溢出!最终在Microsoft网站上查得知是由于一些字段中的数据类型不一致造成的。才想起来Excel中原有的身份证字段是文本类型,后来手工添加的几条记录都被自动转成了数值型,统一成文本后问题随之解决。 Microsoft详细说明:http://support.microsoft.com/kb/815277/zh-cn

C#函数重载与委托

同一个函数,根据不同的参数执行不同的操作叫函数重载; 相同的参数,在不同场合可调用不同的函数来操作叫委托; 同一个函数,既可对int数组求最大值,也可对double数组求最大值,这是重载; 同一个int数组,既可对它们求最大值,也可对他们求最小值,这是委托; 函数重载: 函数委托:

函数重载:C# VS JS

在调用C#的函数时,必须匹配函数的签名,但在有些场合中我们需要让同一个函数能操作不同的变量,这就要使用重载函数这一技术。函数重载允许创建同名的多个函数,这些函数可使用不同的参数类型,在调用函数时会根据使用的参数类型执行相应的函数: 1.ASP和JS的函数重载 ASP中没有函数重载,因为ASP根本不允许同名函数的存在,即使他们的参数不同。由于JS的函数在被调用时并不会去检验参数的个数是否和定义时指定的一样,这就便于让我们实现和C#类似的重载,加之JS是一种无类型的语言,所以在"重载"个人觉得比C#更出色。