分类:Web编程
共 944 篇
ASP.NET 2.0一句话MD5加密方法(字符编码UTF-8): 若要指定字符编码,则使用下边方法: 或 上边加密的结果都是32位字符串,若要改为16位只需从第9位开始截取16个字符即可。 参考资料 .MD5CryptoServiceProvider 类:https://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5cryptoserviceprovider(VS.80).aspx .MD5 类:https://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5
👤 博主
📅 2007-12-25
👁 5854
👍 0
📂 Web编程
阅读全文 →
在ASP.NET 2.0中使用FileUpload服务器控件很容易的就能将文件上传到服务器,一个简单的例子如下: aspx: aspx.cs: 1.一次上传多个文件 要一次上传多个文件,我们可以像传单个文件那样对每个文件单独进行处理,除此之外,我们还可以使用HttpFileCollection类捕获从Request对象发送来的所有文件,然后再单独对每个文件进行处理,代码如下: aspx.cs: 2.上传文件类型的验证 对上传文件类型的验证既可以在客户端进行,也可以在服务器端进行。客户端可以使用验证控件来进行,不过我们今天主要说说如何在服务器端进行验证。上边cs文件中已经用GetExtension获取了文件的扩展名,只要稍加判断即可实现上传类型的验证:…
👤 博主
📅 2007-12-25
👁 6194
👍 0
📂 Web编程
阅读全文 →
当执行Update、Insert 和 Delete时,SqlHelper的ExecuteNonQuery方法能正确的返回受影响的行数,但执行Select时返回值却总是-1,今天上MSDN查了下SqlCommand.ExecuteNonQuery方法,上边的解释是: 对于 Update、Insert 和 Delete 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1。 那上述现象的出现就是正常的了,呵呵。 MSDN地址:http://msdn2.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executenonquery(VS.80).aspx
👤 博主
📅 2007-12-24
👁 6574
👍 0
📂 Web编程
阅读全文 →
标准HTML表单(form元素)允许你向另外一个页面或者应用程序传递和发送数据信息,方法是使用表单元素。在ASP.NET 1.x中,网页则利用投递机制,把页面数据提交给该页本身。对于ASP.NET 2.0,它的功能有所扩展,能够允许跨页提交。这周就让我们来探讨这个新特性。 传统办法 为了便于比较,我想花一分钟来回顾网页传递数据的老方法。HTML的表格元素有一个action(动作)属性,用来指定服务器端哪项资源(所谓资源,是指一个网页、一段脚本、程序等)来处理这些提交的数据。下面的代码便是一个样例。 在文本域(名字是fullname)中输入的值将被提交给表单元素的action属性指定的页面或者程序。对于ASP.NET开发者,即使曾经用过标准HTML表单,也是极不多见的。…
👤 博主
📅 2007-12-21
👁 4562
👍 0
📂 Web编程
阅读全文 →
URL映射是ASP.NET 2.0中提供的新特性。URL映射技术帮助我们将一个特定URL映射为另一个URL。为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页。但由于某些原因,你要将主页改为OriginalHome.aspx。此时使用URL映射让你可以映射到新页面,而不必通知用户。 如果我们设置了URL映射,那么任何用户在URL栏输入Homepage.aspx时,调用的都是OriginalHome.aspx。 深入概念: 让我们看看如何实现它,这可以在configuration部分实现。 如果你想使用URL映射,你必须将enabled属性设置为true。每个add元素都含有一个原URL和映射URL。概念很简单!如果我们为上述场景配置了URL映射,config文件中的元素显示如下:…
👤 博主
📅 2007-12-21
👁 5585
👍 0
📂 Web编程
阅读全文 →
一、引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的、结构明晰的,同时,不会发生插入(insert)、删除(delete)和更新(update)操作异常。反之则是乱七八糟,不仅给数据库的编程人员制造麻烦,而且面目可憎,可能存储了大量不需要的冗余信息。 设计范式是不是很难懂呢?非也,大学教材上给我们一堆数学公式我们当然看不懂,也记不住。所以我们很多人就根本不按照范式来设计数据库。 实质上,设计范式用很形象、很简洁的话语就能说清楚,道明白。本文将对范式进行通俗地说明,并以笔者曾经设计的一个简单论坛的数据库为例来讲解怎样将这些范式应用于实际工程。 二、范式说明 1 第一范式(1NF)…
👤 博主
📅 2007-12-19
👁 4679
👍 0
📂 Web编程
阅读全文 →
1.隐式实现的接口 结果: Pain method is called! Pain method is called! 说明:从实例中我们可以看到用隐式实现的接口既可以通过类来访问,也可以通过接口来访问! 2.显式实现的接口 结果: IControl.Pain method is called! 说明:从实例中我们可以看到用显式实现的接口只能通过接口来访问,如果试图通过类来访问会出错:““ConsoleApplication1.EditBox”并不包含“Paint”的定义。” 3.同时用显/隐式实现接口会怎么样? 结果: Pain method is called! IControl.Pain method is called!…
👤 博主
📅 2007-12-18
👁 4973
👍 0
📂 Web编程
阅读全文 →
namespace ConsoleApplication1
{
class Program
{
static void Main(string args)
{
USB usb;
usb = new UDisk();//插入U盘
usb.OutputFile();//从U盘读出文件
usb.InputFile();//往U盘写入文件
usb.Dispose();//拔出U盘
Console.WriteLine("");
usb = new MDisk();//插入移动硬盘
usb.OutputFile();//从移动硬盘读出文件
usb.…
👤 博主
📅 2007-12-16
👁 6280
👍 0
📂 Web编程
阅读全文 →
其实这是一个老话题了,只是刚才做程序的时候突然发现自己有些概念有点模糊,所以做了一个测试如下: 这段代码是MSDN中的例子修改而来。 从运行结果我们可以分析出如下的结果: 1.如果调用Dispose进行释放,则系统不会调用其析构函数 2.如果是系统自动释放的,则不会调用其Dispose函数,也就是说,.net垃圾收集器其实不认识 IDisposable接口。 3.在类析构过程中,会先释放其中的成员,最后再调用类的析构函数本身。 这里第3点需要说明一下,这是和C++中区别很大的地方,在C++中所有的释放都需要类的析构函数来进行,也就是在C++的析构函数中,所有的成员都是可用而且有效的。但是在C#中就会有区别了,因为C#的类析构函数调用之前,系统就会进行托管成员对象的清理工作。从生命周期的观点来看,类成员的生命周期必须包含在类的生命周期之内,C#这么做没有问题,但是问题时在于程序经常需要在析构函数中使用类的成员,所以就出现了异常情况:在析构函数中使用的类成员已经被析构了!也就是说,同样在析构函数范围内,C++包含的寓意是“析构=无效”,但是在C#的析构函数范围中,“析构 != 无效”。…
👤 博主
📅 2007-12-16
👁 5765
👍 0
📂 Web编程
阅读全文 →
摘要:构造函数与析构函数是一个类中看似较为简单的两类函数,但在实际运用过程中总会出现一些意想不到的运行错误。本文将较系统的介绍构造函数与析构函数的原理及在C#中的运用,以及在使用过程中需要注意的若干事项。 关键字:构造函数;析构函数;垃圾回收器;非托管资源;托管资源 一、构造函数与析构函数的原理 作为比C更先进的语言,C#提供了更好的机制来增强程序的安全性。C#编译器具有严格的类型安全检查功能,它几乎能找出程序中所有的语法问题,这的确帮了程序员的大忙。但是程序通过了编译检查并不表示错误已经不存在了,在“错误”的大家庭里,“语法错误”的地位只能算是冰山一角。级别高的错误通常隐藏得很深,不容易发现。…
👤 博主
📅 2007-12-16
👁 4287
👍 0
📂 Web编程
阅读全文 →