asp.net高级教程(一)---asp.net , 还是asp+ ?

从基础到高级:Visual Basic.NET程序设计全教程 Visual Basic.NET(VB.NET)是Visual Basic的现代化版本,它是一种面向对象的编程语言,由微软公司开发。它不仅继承了Visual Basic易学易用的特点,还引入了.NET Framework的强大功能,使得开发者能够在.NET平台上开发各种类型的应用程序。VB.NET是许多初学者进入编程世界的良好起点,同时也提供了足够的深度和灵活性,以满足经验丰富的开发者的需要。本文将介绍VB.NET的基本概念、运行环境以及其在当今IT领域中的应用价值。 阅读详情
看到这个标题你可能会笑,alpha版的时候MS叫它asp+,后来出了beta1版,就改名叫asp
.net了,那还不是一回事吗?你错了,这不仅仅是一个简单的叫什么的问题,而是一个
它到底是什么的问题。关于asp.net到底是什么,恐怕你已经看过不少这类文章,并且有
自己的理解,但恐怕大多数人的理解不是那么正确。问个简单的问题,asp.net和asp有
什么关系?恐怕chinaasp .net版版主的看法代表了大多数人的理解:asp+就是比asp什
么都多一点点而已:),真的是这样吗?让我们看下面这个例子,这段代码是我自己的a
sp.net BBS的用户注册模块的提交按钮点击事件,作用是将用户提交的数据存入数据库
中。

//提交按钮点击
public void OnSubmit(Object sender , EventArgs e)
{
if (Page.IsValid)
{
//数据入库
try
{
BBSUser myUser = new BBSUser() ;
if(!myUser.GetUser(txtUserName.Text))
{
myUser.CreateUser(BBSUser.CreateType.Create , txtUserName.Text ,
txtPassword.Text ,
txtEmail.Text , txtHomepage.Text , "") ;
}
}
catch(Exception exp)
{
#if DEBUG
Response.Write ("出现异常:" + exp.Message) ;
return ;
#endif//DEBUG
Server.Transfer("error.aspx") ;
}
}
}

怎么样,是不是和你原来习惯使用的asp有些区别呢?代码中你见不到数据入库,而全部
封装到BBSUser类的CreateUser方法中,或许你会说asp也行呀,做个函数或过程不就行
了?是,的确如此,asp.net也可以直接把它做成一个过程然后来调用,但如果那样的话
,那就真的只比asp多一点点而已了。还是让我们从头说起吧。

asp.net和asp的最大区别在于编程思维的转换,而不仅仅在于功能的增强。asp使用vbs/
js这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言
,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理:由于asp是脚本语言混合html编程,所以你很难看清代码
的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程
序员所能达到的管理能力,从而造成出错或这样那样的问题。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型
修改一点,整个程序都需要修改,更别提代码重用了。
3、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相
对于它所造成的出错几率是远远得不偿失的。
以上是语言本身的弱点,在功能方面asp同样存在问题,第一是功能太弱,一些底层操作
只能通过组件来完成,在这点上是远远比不上php/jsp,其次就是缺乏完善的纠错/调试
功能,这点上asp/php/jsp差不多。那么,asp.net有哪些改进呢?
asp.net摆脱了以前asp使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括c
++ , vb , js等等,当然,最合适的编程语言还是ms为.net frmaework专门推出的c#(读
csharp),它可以看作是vc和java的混合体吧,尽管ms自己讲c#内核中更多的象vc,但实
际上我还是认为它和java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本
,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就
解决了刚才谈到的asp的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到as
p.net上就可以使业务逻辑和html页面分离,这样无论页面原型如何改变,业务逻辑代码
都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已
有的对象最大限度保护你以前的投资。并且c#和c++、java一样提供了完善的调试/纠错
体系。好了,一口气说了这么些理论性的东西,不如结合一个实例来具体说明,在以后
的内容里我将结合一个论坛的实例来具体说明asp.net的开发,这个论坛的完整源代码及
论坛本身你可以在我的站点( http://bigeagle.wotoo.com找到 。
对了,要说明一点,这个教程并不是asp.net的入门教程,我假设你对asp.net、c#和面
向对象编程有一定的了解,如果不是这样的话,请先阅读有关文章或教程。
VB.NET高级编程(第二版)全面解析与实战指南 简介:《VB.NET高级编程(第二版)》是一本系统深入讲解VB.NET编程语言的专业书籍,涵盖从基础语法到高级特性的全方位知识体系。作为.NET框架的重要组成部分,VB.NET支持面向对象、事件驱动和异步编程,适用于开发高效稳定的Windows应用程序。本书详细介绍了变量、控制结构、OOP核心概念(类、继承、多态)、接口、异常处理、泛型集合、ADO.NET数据库操作以及反射与动态编程等关键技术。通过丰富的实例和深度解析,帮助开发者掌握企业级应用开发所需的核心技能,适合初学者进阶与资深程序员提升。 阅读详情

相关推荐

安全维护 IIS下 ASP 站点的高级技巧

一. 前言   (仅以此文感谢好友bigeagle。不是他,我可能不用这么担心win2000安全问题的。呵呵!)   人说,一朝被蛇咬,十年怕…..,就是这样。2000年初,当我终于摆脱winnt 4.0 server那可怕的补丁之旅,迈向win2000 server时。我终于可以比较放心我的服务器了。但随着SQL SERVER的补丁出现。我知道,与微软的补丁因缘又开始轮回了。但还好。win2000自动化的管理还是让我放心好多,而以前管理winnt后的失眠症状也逐渐消失了。偶尔还能见到我的”梦”老弟。但这一切都伴随者同bigeagle的一次知心交谈中付之东流了。一次,bigeagle发来qq,

asp.net高级教程(一)-asp.net还是asp?

p ,后来出了beta1版,就改名叫asp.net了,那还不是一回事吗?你错了,这不仅仅是一个简单的叫什么的问题,而是一个它到底是什么的问题。关于asp.net到底是什么,恐怕你已经看过不少这类文章,并且有自己的理解,但恐怕大多数人的理解不是那么正确。问个简单的问题,asp.net和asp有什么关系?恐怕chinaasp .net版版主的看法代表了大多数人的理解:asp 就是比asp什么都多一点点

zgqtxwd的专栏 224

ANC降噪学习

概述 ANC,英文名称:Active Noise Control,主动降噪。其原理是降噪系统电路产生降噪MIC接收的外界环境噪音相等的反相信号,将噪声抵消。核心算法 ANC降噪实现核心算法为:FxLMS(最小均方差算法)。最小均方差算法以均方误差为代价函数,并使误差降到最小的算法。 具体算法推导这里不做具体介绍,这里直接列出表达式: ...

王小壮的博客 2万+

.NET 性能高级教程(一)

这本书已经成为,因为我们觉得没有权威的文本,涵盖所有这三个领域有关。确定性能指标,然后测量应用性能,以验证它是否满足或超过这些指标。在内存管理、网络、I/O、并发性和其他方面提高应用性能。了解 CLR 和。NET 内部细节,以便设计高性能的应用,并在出现性能问题时进行修复。我们相信。如果不彻底了解这三个方面,NET 开发人员就无法实现系统化的高性能软件解决方案。例如,。

龙哥盟 2042

离线反激转换器反馈环路设计:从理论到实践的Type II补偿器详解

在开关电源设计中,反馈环路稳定性是决定电源性能与可靠性的核心。其本质是通过补偿网络对功率级的小信号特性进行校正,以构建一个具有足够相位裕度和增益裕度的闭环系统。反激转换器作为一种广泛应用的隔离拓扑,其功率级在连续导通模式(CCM)和非连续导通模式(DCM)下呈现不同的零极点特性,这直接决定了补偿器的选型。Type II补偿器因其传递函数中固有的积分环节、低频零点与高频极点,恰好能与反激功率级的1P2Z(一个极点、两个零点)特性形成互补,有效塑造理想的回路增益曲线,实现快速稳定的动态响应。本文聚焦于采用TL4

weixin_30162121的博客 501

PIN限幅二极管在接收机中的应用

本文介绍了接收机保护限幅器的工作原理及应用,重点阐述了PIN二极管在雷达收发机中的关键作用。文章指出,限幅器能有效保护接收机灵敏元件免受大功率信号损害,主要通过反射而非耗散功率来实现保护功能。文章详细分析了PIN二极管的层结构特性及其阻抗变化机制,解释了多级限幅器的设计原理(包括清理级和粗限幅器的配合使用),并介绍了通过添加检波二极管降低阈值水平的方法。最后指出,实际应用中限幅器通常采用3级或更少的设计。

weixin_49761275的博客 2375

ASP.NET高级应用

三层结构及其应用   概念及环境   ASP.NET中的三层结果开发方法,其实其思想跟Java的一样。Java中的三层架构为前端的html、Jsp、Servlet,中间层为JavaBean、EJB,后面为数据库服务器。而在ASP.NET中,前段为html、asp、aspx等,中间层为有.vb、.cs等文件编译而成的.dll控件,后面为数据库服务器。   在我们的三层架构中,我们的数据库层通过中

cosio的专栏 1167

Anaconda/Miniconda的删除和安装

要在 MacBook 上删除 Anaconda 或 Miniconda,并重新安装它,您可以按照以下步骤进行操作。

qq_27390023的博客 3027

oracle 08177,Java OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题解决

问题描述:Caused by: oracle.jdbc.OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题分析:1、Quartz从MySQL数据库换成Oracle数据库,并且org.quartz.jobStore.txIsolationLevelSerializable设置为true,出现了报错。解决办法:(1)注释掉Quartz配置类的@Confi...

weixin_30562541的博客 471

Kettle下载与安装教程【保姆版】

Kettle简介 Kettle最早是一个开源的ETL工具,全称为KDE Extraction, Transportation, Transformation and Loading Environment。后来Kettle重命名为Pentaho Data Integration 。 它由Java开发,支持跨平台运行,其特性包括:支持100%无编码、拖拽方式开发ETL数据管道;可对接包括传统数据库、文件、大数据平台、接口、流数据等数据源;支持ETL数据管道加入机器学习算法。 主要功能 Pentaho D

weixin_43407520的博客 12万+

QGis软件 —— 5、QGis增加线,并对线进行绘制、旋转、缩放、移动等基本操作

QGis软件 —— 5、QGis增加线,并对线进行绘制、旋转、缩放、移动等基本操作

8245

oracle08177,Java OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题解决

问题描述:Caused by: oracle.jdbc.OracleDatabaseException: ORA-08177: 无法连续访问此事务处理问题分析:1、Quartz从MySQL数据库换成Oracle数据库,并且org.quartz.jobStore.txIsolationLevelSerializable设置为true,出现了报错。解决办法:(1)注释掉Quartz配置类的@Confi...

weixin_34586802的博客 544

YOLOv5基于深度学习的道路缺陷检测系统

然而,由于长期的自然侵蚀、车辆磨损等因素,道路表面容易出现裂缝、坑洼等缺陷。这些缺陷不仅会影响驾驶舒适性,还可能引发交通事故,尤其是在恶劣天气或夜间行车条件下。随着人工智能技术的快速发展,基于深度学习的道路缺陷检测技术能够在降低人力成本的同时提高检测效率,为道路维护提供了新的解决方案。本项目构建了基于YOLOv5的道路缺陷检测系统,结合PyQt5开发了用户友好的UI界面,具备实时检测和图片分析功能。工具对图片进行标注,生成YOLO格式的标注文件。上传包含道路裂缝或坑洼的图片,系统会标注出缺陷的位置及类别。

YOLO 1076

oracle外网访问mysql_如何从公网访问内网Oracle数据库

公网访问内网Oracle数据库本地安装了Oracle数据库,只能在局域网内访问,怎样从公网也能访问本地Oracle数据库?本文将介绍具体的实现步骤。1. 准备工作1.1 安装Java 1.7及以上版本执行命令java -version检查Java安装和配置是否正确。1.2 安装并启动Oracle数据库默认安装的Oracle数据库端口是1521。2. 实现步骤2.1 下载并解压holer软件包2.2...

weixin_33702545的博客 440

22、自动化地图制作与Pandas数据处理

本文介绍了在ArcGIS Pro中使用arcpy.mp模块进行自动化地图制作的关键技术,涵盖地图元素的访问、移动与文本修改,以及将布局批量导出为JPEG、PNG和PDF格式的方法。同时,文章深入探讨了Pandas在数据处理和地理空间分析中的应用,特别是Spatially Enabled DataFrames(SEDFs)的使用。通过综合案例展示了地图更新与数据清洗、分析的结合,提升了地图制作与数据处理的效率,为GIS自动化工作流提供了实用指南。

w8x9y0z1的博客 79

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Windows上的Oracle Java

我最近为基于Windows 7的笔记本电脑下载了JDK 9的早期访问版本 (内部版本68 )。 由于这是早期版本,因此当自动安装在笔记本电脑上安装主要Java Runtime Environment(JRE)引入了一些不太理想的问题时,我并不感到惊讶。 在玩完要尝试的JDK 9功能之后,我下载了最新的Oracle JDK 8 ( Update 45 )并使用自动安装程序进行安装。 虽然仍在该...

最佳 Java 编程 150

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

关于解决java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:orcl的方法

**问题描述:**用Java访问数据库时,eclipse控制台出现以下提示: java.sql.SQLException: No suitable driver found for jdbc:oracle:thin:@127.0.0.1:1521:orcl 出现原因:多是因为jdk的版本和Oracle的驱动版本不匹配 版本匹配: ojdbc5.jar: 适用于jdk1.5 ojdbc6....

just fight 6259

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C#9 和 .NET5 高级教程(七)

原文:Pro C# 9 with .NET 5 协议:CC BY-NC-SA 4.0 十二、委托、事件和 Lambda 表达式 到本文的这一点为止,你开发的大多数应用都将不同的代码作为顶级语句添加到了Program.cs中,这些语句以某种方式将请求发送到给定对象的。然而,许多应用要求一个对象能够使用回调机制将传递回创建它的实体。虽然回调机制可以在任何应用中使用,但它们对于图形用户界面尤其重要,因为控件(如按钮)需要在正确的情况下(单击按钮时、鼠标进入按钮表面时等)调用外部方法。). 在下面。NET 核心

龙哥盟 1361

.NET 性能高级教程(四)

原文:Pro .NET Performance 协议:CC BY-NC-SA 4.0 九、算法优化 一些应用的核心是为特定领域设计的专门算法,这些算法基于并不普遍适用的假设。其他应用依赖于经过充分测试的算法,这些算法适用于许多领域,并且在整个计算机软件领域已经存在了几十年。我们相信,每个软件开发人员都可以从算法研究皇冠上的宝石中受益并获得洞察力,以及软件框架所基于的算法类别。虽然如果你没有很强的数学背景,这一章的某些部分可能会有些困难,但是它们是值得你努力的。 这一章轻轻拂过计算机科学的一些支柱,并回顾

龙哥盟 1945

C#9 和 .NET5 高级教程(十)

关键字dynamic允许你定义直到运行时才知道其身份的数据。当由动态语言运行时处理时,自动创建的“表达式树”将被传递到正确的动态语言绑定器,在那里有效负载将被解包并发送到正确的对象成员。使用动态数据和 DLR,可以从根本上简化复杂的 C# 编程任务,尤其是将 COM 库合并到。NET 核心应用。正如您在本章中看到的,这为 COM interop 提供了许多进一步的简化(与动态数据无关),例如将 COM interop 数据嵌入到您的应用、可选参数和命名参数中。

龙哥盟 1614

asp.net高级教程

----------------------------------------------------------------------------------------------------------------asp.net高级教程(一)---asp.net , 还是asp+ ?2001-2-5 动网先锋 看到这个标题你可能会笑,alpha版的时候MS叫它asp+,后来出了beta1

网络星火 1636

asp.net高级教程(五)---实战篇(中)

做好准备工作,现在就要动真格的了,先让我们看看用户注册的实现。前边已经讲过,asp.net可以实现业务逻辑和html代码分离,那么让我们来看看到底是如何实现的,下面这个文件是用户注册的页面部分,原型是根据我站点的风格制作的:Inherits="bbs.Register" %>新用户注册function OnPreview(){divPreview.innerHTML = Form1.txtSign

★★创造未来★★ 1052

C#9 和 .NET5 高级教程(一)

原文:Pro C# 9 with .NET 5 协议:CC BY-NC-SA 4.0 一、C# 和 .NET(Core)5 简介 微软的。NET 平台和 C# 编程语言大约在 2002 年正式引入,并迅速成为现代软件开发的中流砥柱。的。NET 平台使得大量的编程语言(包括 C#、VB.NET 和 F#)能够相互交互。用 C# 写的程序可以被用 VB.NET 写的另一个程序引用。本章稍后将详细介绍这种互操作性。 2016 年,微软正式推出。NET 核心。比如。网,。NET Core 允许语言之间的互操作(

龙哥盟 2339

.NET5从零基础到精通:全面掌握.NET5开发技能【第一篇】

本篇文章将带你认识C#的新语法、创建项目、发布运行、读取的相关操作、MVC开发、扩展、各种容易的使用,权限等.NET的相关知识。带你从零到精通,全面掌握.NET5的开发技能。

西瓜程序猿 1219
上一篇: ASP .NET 中的身份验证:.NET 安全性指导
下一篇: asp.net高级教程(二)--- 转换编程思维
masterall
博客等级 码龄22年 17粉丝 557原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值