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

[图解]SysML与EA实战:住宅安全系统接口块设计全解析

本文详细解析了使用SysML和EA工具进行住宅安全系统接口块设计的全流程。从系统上下文图入门到接口块实战技巧,涵盖块定义图与内部块图的视角转换,以及多图协同建模方法论。特别分享EA工具的高效操作指南和常见问题避坑建议,帮助工程师掌握精确信号定义、端口方向设置等关键技能,提升安防系统设计效率。

weixin_29234509的博客 333

.NET 性能高级教程(一)

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

龙哥盟 2042

STM32的GPS数据提取程序设计说明——基于NMEA0183协议

一、硬软件平台 本次程序实现效果为对GPS信号穿送来的数据进行筛选,并将筛选后的信息通过上位机显示出来,所以此次设计所需硬件包括STM32F407、RS232转TTL、CH340USB转串口模块,注意该模块在使用前,对应的系统需要安装驱动,否则串口调试助手无法识别,另外还包括JLink下载器。 本次代码设计软件为KEIL5并结合F4固件包,上位机系统为WIN7,主机系统为WIN10。 二、算法总体思路设计 由于GPS通过RS232将数据传送给板子,因此使用两个串口资源(串口1和串口2),其中一个用来

小景的博客 6181

UE4_用户控件_6_通过控件蓝图内部变量来修改进度条的值

发现控件类图类的引用和用户控类引用不兼容,修改变量类型。我们需要添加到视口,同时设置输入模式。创建按钮的点击事件,当点击时调用角色的自定义事件clearwidget。可以了,但是没有退出控件,没有鼠标,所以改进一下。

Growthofnotes的博客 1236

ASP.NET高级应用

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

cosio的专栏 1167

HRnet的pytorch实现

HRnet的pytorch实现

奋土的博客 1953

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

劳特巴赫 Trace32 调试使用教程

详细介绍如何使用trace32进行调试

m0_56208280的博客 4万+

Stable Diffusion WebUI 安装前准备

大家好,我是水滴~~在安装 stable-diffusion-webui 前需要做一些准备工作,本篇文章主要介绍需要的电脑配置、魔法、安装 Python、安装 Git 等。

水滴的博客 2100

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

YOLOv8 Neck改进:BiFPN双向特征金字塔网络解析与实践

本文详细介绍了如何在YOLOv8中集成BiFPN双向特征金字塔网络,包括原理解析、代码实现、配置文件修改和性能分析。BiFPN通过双向特征融合和加权特征机制,显著提升了多尺度目标检测的性能。希望通过本文的讲解,大家能够深入理解BiFPN的工作原理,并成功将其应用到自己的目标检测项目中。如果你有任何问题或建议,欢迎在评论区留言讨论!在下一篇文章中,我们将探讨YOLOv8的其他改进技术,包括注意力机制、新的损失函数等,敬请期待!

QQ_778132974的博客 991

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

CloudCompare 和 PCL:点云网格化分析与处理

点云网格化是将点云数据转化为规则网格的过程,其主要思想是将离散的点云投影到一个平面上,然后对该平面进行划分,形成一系列小区域。在点云网格化方面,PCL 提供了各种算法和工具,可以实现高效的点云网格化操作。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化算法参数,如搜索半径和最大三角形边长等,执行了网格化操作,最后将网格化结果保存到输出文件中。以上示例代码中,首先加载了输入的点云数据,然后通过设置合适的网格化参数,如分辨率等,执行了网格化操作,最后将网格化结果保存到输出文件中。

TechPulseZ的博客 1291

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Windows上的Oracle Java

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

最佳 Java 编程 150

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

关于解决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

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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、付费专栏及课程。

余额充值