asp.net高级教程(二)--- 转换编程思维

深入理解C#编程:.NET框架与ASP.NET的高级特性 本文将深入探讨.NET框架和ASP.NET中的高级编程概念,包括泛型、模型绑定、异常处理等。我们也将分析C#语言的一些核心特性,如继承、接口、委托和事件处理,以及如何在实际开发中应用这些概念。此外,文章还将介绍一些.NET框架下的工具和方法,如异步编程和资源管理。 阅读详情
上次的内容说过asp.net和asp的最大区别在于编程思维的转换,那么我们现在就来看看
如何转换编程思想。以前的web编程从cgi(perl)到asp,php,jsp的编程过程都是这样:美
工人员给出页面原型,编程人员照页面填空,最后堆起来算完,下次如果原型变动,那
么就再修改程序,这样业务逻辑和html页面混在一起,可以说是事倍功半。那么,现在
有了asp.net,我们应该怎么做呢?

让我们找个实际的例子,就拿论坛来说吧,先从顶至下看看它的业务逻辑。我们可以把
一个论坛视做一个对象,它有自己的属性和方法,常见的属性有名称、贴子数、用户数
、版面数等等,这样的话,我们就可以这样来构造论坛对象:

namespace MyOwnClass
{
using System;
using System.Data.SQL ;
using System.Data ;

////////////////////////////////////////////////////////////////////
//
// Class Name : BBS
//
// Description: 论坛类,构造一个论坛对象
//
// date: 2000/02/03
//
/// ////////////////////////////////////////////////////////////////
public class BBS
{
//私有变量
private string m_strTitle ; //bbs名称
private int m_intForumCount ; //版面数
private int m_intTopicCount ; //贴子数
private int m_intUserCount ; //注册用户数

//属性
public string Title
{
get
{
return m_strTitle ;
}
}

public int ForumCount
{
get
{
return m_intForumCount ;
}
}

public int TopicCount
{
get
{
return m_intTopicCount ;
}
}

public int UserCount
{
get
{
return m_intUserCount ;
}
}

//构造函数
public BBS(string a_strTitle)
{
//
// TODO: Add Constructor Logic here
//
m_strTitle = a_strTitle ;

//读取数据库
MyConnection myConn = new MyConnection() ;
SQLCommand myCommand = new SQLCommand() ;


myCommand.ActiveConnection = myConn ;
myCommand.CommandText = "up_GetBBSInfo" ; //调用存储过程
myCommand.CommandType = CommandType.StoredProcedure ;

try
{
myConn.Open() ;
SQLDataReader myReader ;
myCommand.Execute(out myReader) ;
if (myReader.Read())
{
m_intForumCount = (int)myReader["ForumCount"] ;
m_intTopicCount = (int)myReader["TopicCount"] ;
m_intUserCount = (int)myReader["UserCount"] ;
}
else
{
throw(new Exception("表或存储过程不存在")) ;
}

//清场
myReader.Close();
myConn.Close() ;
}
catch(SQLException e)
{
throw(new Exception("数据库出错:" + e.Message)) ;
}

}
}
}

这个bbs类很简单,有四个私有变量,对应四个只读属性,方法只有一个带参数的构造函
数,作用是从数据库中读取相应的数据,填充四个私有变量。类构造好了,让我们看看
如何使用,在需要显示论坛这些属性的页面文件里(.aspx)里,构造四个Label,象这样
:
<table width=140 cellpadding=4 cellspacing=1 border=0>
<tr>
<td class=cn>
<font color=white>注册用户数:</font>
</td>
<td>
<asp:label id="lblUserCount" runat=Server class=cn></asp:label>
</td>
</tr>
<tr>
<td class=cn>
<font color=white>贴子总数:</font>
</td>
<td>
<asp:label id="lblTopicCount" runat=Server class=cn></asp:label>
</td>
</tr>
<tr>
<td class=cn>
<font color=white>版面数:</font>
</td>
<td>
<asp:label id="lblForumCount" runat=Server class=cn></asp:label>
</td>
</tr>
</table>
然后在对应的c#文件里这样使用:

protected void Page_Init(object sender, EventArgs e)
{
//
// CODEGEN: This call is required by the ASP+ Windows Form Designer.
//
InitializeComponent();

//初始化页面对象
//创建bbs对象
try
{
m_objBBS = new BBS("鹰翔山庄论坛") ;
}
catch(Exception exp)
{
#if DEBUG
Response.Write ("初始化bbs对象出错:" + exp.Message + "<br>") ;
return ;
#endif//DEBUG
Server.Transfer("error.aspx") ;
}

//论坛名称
lblBBSName.ForeColor = Color.White ;
lblBBSName.Text = m_objBBS.Title ;

//用户数
lblUserCount.ForeColor = Color.White ;
lblUserCount.Text = m_objBBS.UserCount.ToString() ;

//文章数
lblTopicCount.ForeColor = Color.White ;
lblTopicCount.Text = m_objBBS.TopicCount.ToString() ;

//版面数


lblForumCount.ForeColor = Color.White ;
lblForumCount.Text = m_objBBS.ForumCount.ToString() ;
}

看出这样使用的好处吗?对,就是业务逻辑和html代码分开,这样无论页面原型如何修
改,代码都不需要做丝毫改动。bbs对象构造好了,让我们看看论坛的其他对象,他们分
别是用户(BBSUser)、版面(Forum)和贴子(Topic) , 我将在下节的内容里详细解释。

Gazebo仿真UUV水下机器人:从环境搭建到避障算法实战 本文详细介绍了使用Gazebo仿真平台进行UUV水下机器人开发的全流程,涵盖从环境搭建、uuv_simulator配置、传感器集成到核心避障算法实战。通过搭建水下仿真实验室并实现基于激光雷达数据的反应式避障算法,为水下机器人算法验证与开发提供了高效、低成本的解决方案。 阅读详情

相关推荐

C# Code-Behind 技术全面解析

Code-Behind 是 ASP.NET Web Forms 中的一种技术模式,通过将用户界面标记(.aspx文件)与程序逻辑代码(.aspx.cs文件)分离,实现表现层与逻辑层的解耦。其核心思想是前端展示与后台逻辑的物理文件分离,通过ASP.NET编译器将两者合并编译成一个Page类并执行。Code-Behind 的优势包括较好的代码组织、较高的开发效率,尤其适合快速开发数据驱动应用。然而,与现代开发模式如ASP.NET MVC、ASP.NET Core和Blazor相比,Code-Behind 在可维

记录学习的过程 957

修炼升级-编程思维方式的转变

尼玛,坐飞机果然不靠谱,居然晚点了一个半小时,结果凌晨3点才到石家庄。本来说好到家后小睡一觉,然后上午直接杀到公司,结果睁眼起来已经10点半了,想想,还是算了,在床上祭奠一下我坑爹的答辩,诅咒一下冯大爷,这辈子吃方便面没有调料包。 下午到了公司,完成了已做的party-bid在手机上的测试工作,功能实现后开始最苦逼的部分:代码重构,不过老实说,代码重构对于我们今后提高开发效率、减少出...

sunwenpeng12345的博客 195

AD(AltiumDesigner)封装导入allegro生成allegro封装

AD(AltiumDesigner)封装导入allegro生成allegro封装 貌似PCB的封装问题是一个无尽话题,为了简单我总是想找捷径(主要还是太懒了),因为也是近期才开始学习使用allegro进行PCB设计,在最近的一个设计中,很多器件封装allegro中都没有,一个一个画感觉很费时间,但是在AD(AltiumDesigner)的封装库中是有的,于是便想着AD的封装库能不能倒入到alleg...

yangh2560的博客 2万+

(转)如何训练自己的编程思路

最近一个周末班的学员,问黄哥你在讲解编程思路训练时,如何想到这个思路的。 首先要解决一个问题,学习编程是学习啥?是纯学习语法吗?不是,是要学习计算思维,编程思路。 何为计算思维: 计算思维(Computational Thinking)概念的提出是计算机学科发展的自然产物。第一次明确使用这一概念的是美国卡内基•梅隆大学周以真(Jeannette M. Wing)教授。 计算思维是运用计算机科学的

romiolee的博客 6171

2026 具身智能 VLA/WAM 全栈学习与训练路线:从动作建模、SFT、RL 到世界模型的 RTX PRO 6000 96GB 单卡实战指南

我会把这张表做成“”而不是只列论文名:先核对每个模型截至的公开代码、训练目标和数据接口,再单独给你一套。对于没有公开、只有推理代码或训练细节不完整的模型,我会明确标出来,避免把“论文里提到”误写成“可复现”。目前有一个重要更新:。截至今天 NVIDIA 官方开源主线已经是换成 Cosmos-Reason2-2B/Qwen3-VL 架构,动作端仍是连续路线,而且官方明确给出单卡微调时默认只训练,峰值显存约。所以你的 96GB 单卡对 GR00T SFT 非常宽裕。可以。下面我按,把它整理成一张真正面向“

u013250861的博客 446

ADS笔记,新旧两组仿真数据进行绘图和列表对比

原理图器件参数的不同,怎么进行对比观看,操作如下。

彭辉荣的博客 3869

【转】编程思维轻松培养一个有条理,思路清晰的孩子

编程属于理科生学习的东西?编程一定要成为码农吗?其实编程的核心是学习一种思维方式比尔盖茨说:学习编程可以锻炼你的思维,帮助你更好地思考,创建一种我认为在各领域都非常有用地思维方式。在美国,编程已经开始变成和读写、数学、科学并列的学生核心能力,而其核心不是学习计算机语言,而是学习一种思维方式。这种思维叫做计算性思维。1什么是编程思维?编程思维(Computational Thinking)一个看似遥...

sinat_18474835的博客 1万+

能量机关 STM32HAL库开发大疆A板WS2812B彩灯(PWM+DMA)

本文主要目的是为了制作RoboMaster比赛能量机关的灯条控制,模拟比赛场中大符,搭建出类似场地道具,以供视觉测试 使用的是RoboMaster开发板A型,芯片为STM32F427IIH6,使用的灯条为WS2812B。 采用PWM+DMA控制,使用CUBEMX配置底层,keil5编辑烧录代码 实现:一共五片扇叶,每片扇叶均实现流水灯+常亮颜色 参考文章在后面会标记出来

m0_51756449的博客 4291

asp.net高级教程(二):转换编程思维

  上次的内容说过asp.net和asp的最大区别在于编程思维的转换,那么我们现在就来看看如何转换编程思想。以前的web编程从cgi(perl)到asp,php,jsp的编程过程都是这样:美工人员给出页面原型,编程人员照页面填空,最后堆起来算完,下次如果原型变动,那么就再修改程序,这样业务逻辑和html页面混在一起,可以说是事倍功半。那么,现在有了asp.net,我们应该怎么做呢?  让我们找个实

The key to .Net 418

OpenClaw进阶实战(二十三):微信公众号接入——被动回复、客服消息、素材管理

本文介绍了将OpenClaw接入微信公众号的完整方案,重点包含以下内容: 接入方案选型:对比官方插件、三方服务和自建中转三种方式,选择自建Node.js中转服务实现灵活控制 核心原理:通过中转服务器完成微信消息协议转换,处理5秒超时限制和异步回复机制 实战开发: 搭建Express中转服务 实现Token管理和消息处理 采用内存缓存对话历史 通过客服接口异步回复 官方插件方案:介绍2026年发布的ClawBot插件,支持文本/图片/文件收发 进阶功能:包括素材管理接口调用示例 该方案适用于需要深度定制公众号

PeterPan的博客 142

Oracle EBS AP发票被预付款核算创建会计科目时间超长

在客户职能部门的水电、通信和物业等费用统一管理或对接部门报销时,用户将所有费用分摊到各个末级部门,导致AP发票行数高达上千行。这引发了以下问题:1)用户过账时,创建会计科目的请求执行超过20小时未完成,只能手动取消;2)取消请求后,系统一直处于回滚状态;3)通过SQL脚本分析,发现预付发票核销分配行表记录数量庞大,单笔AP发票记录高达90多万条,类似发票共有5笔。

陈显平的专栏-Oracle EBS 352

asp.net高级教程(二)-转换编程思维

<!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--><script type="text/javascript"

zgqtxwd的专栏 365

【LLC快速上手系列】如何在LLC谐振里优雅地调死区时间?

用示波器死盯Vds波形,找到ZVS临界点;别听“经验值”,亲自调才准;死区时间并非越短越好,也不是越长越稳,而是要“刚刚好”;用热成像看MOSFET温升变化,ZVS调好了,温度马上掉2~5℃;轻载难ZVS?适当提升频率 or 降低Lr可破!

weixin_43199439的博客 493

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

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

★★创造未来★★ 1437

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

asp.net高级教程

asp.net高级教程(一)---asp.net , 还是asp+?  看到这个标题你可能会笑,alpha版的时候MS叫它asp+,后来出了beta1版,就改名叫asp.net了,那还不是一回事吗?你错了,这不仅仅是一个简单的叫什么的问题,而是一个它到底是什么的问题。关于asp.net到底是什么,恐怕你已经看过不少这类文章,并且有自己的理解,但恐怕大多数人的理解不是那么正确。问个简单的问题,asp

PConline(伤心太平洋) 1851

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

将 ASP 转换为 ASP.NET

将 ASP 转换为 ASP.NET升级至 Microsoft .NET本文将先从解释典型数据驱动的 ASP 应用程序开始,再接下来讨论将 ASP 应用程序移植到 ASP.NET目标·                 将 ASP 及 Microsoft ASP.NET 执行在相同的网页服务器上 ·                 分析一般的 ASP 应用程序 ·   

努力!! 6857

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

ASP.NET书籍推荐

.NET框架程序设计(修订版)——微软.NET程序员系列  [美]里克特 著,李建忠 译 / 2003-11-1 / 清华大学出版社 / 68元 / 787*1092 1/16 / 本文标题关于ASP.NET,如果不提到这本书,无论如何是说不过去的。本书全面剖析了.NET框架机理,深度阐述了.NET平台思想,详细解释了CLR(通用语言运行时)的工作机制及其提供的

【___小生。博客】我们一直在努力…… 3670

C#、ASP、ASP.NET、.NET、ASP.NET CORE区别、ASP.NET Core其概念和特点、ASP.NET Core个人心得体会

ASP.NET Core是.NET平台上的新一代Web应用程序开发框架,它是ASP.NET的升级版本。与传统的ASP.NET相比,ASP.NET Core更加轻量级、高性能且跨平台。它采用了基于Razor的视图引擎和中间件管道模型,提供了更大的灵活性和可扩展性。

qq_62186948的博客 6026

C#、ASP.NET、ASP.NET MVC、ASP.NET web form、asp.net core mvc的区别。哦我的上帝啊!这可真糟糕

微软的命名很糟糕。技术上有两个框架:ASP.NET和ASP.NET Core,它们分别基于.NET Framework和.NET Core构建。 当Microsoft首次尝试创建一个遵循MVC模式的“现代”Web应用程序平台时,它将这个新平台称为“ASP.NET MVC”,以区别于以前的ASP.NET应用程序(主要是Web Forms)。然后,为了更加混淆事情,他们后来添加了“ASP.NET We...

菜鸟变凤凰 2450

一文讲懂C#、ASP.NET、ASP.NET MVC、ASP.NET web form、asp.net core mvc的区别

一文讲懂C#、ASP.NET、ASP.NET MVC、ASP.NET web form、asp.net core mvc的区别

Blue 4512

asp asp.net .net c# vb之间的区别和关系

一、什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语言的一个平台。语言可以是C#,f#,j#,vb.net等等。JAVA和.NET不同的一点是java是跨平台的,不跨语言的。.NET跨平台仅限于安卓系统和IOS苹果系统。 .Net全称.NET F...

qq_30021219的博客 4323

ASP和ASP.NET的区别

看到这组词让我想到了VB和VB.NET。VB.NET是VB的下一个版本。微软不是简单的在VB6的基础上增加了一些新特性,而是重新更换定制了这个产品。开发者可以使用杨业船体和ADO.NET快速开发可扩展的网站;使用继承,支持面向对象编程;可以充分利用.NET框架提供的一切。 回想VB6和VB.NET

许小乖……是总攻 2096

.NET、C#和ASP.NET,ASP.NET MVC 四者之间的区别

什么是.NET? .NET是微软公司下的一个开发平台,.NET核心就是.NET Framwork(.NET框架)是.NET程序开发和运行的环境,在这个平台下可以用不同的语言进行开发,因为.NET是跨语言的一个平台。语言可以是C#,f#,j#,vb.net等等。顺便说一下sum公司的JAVA和.NET不同的一点是java是跨平台的,不跨语言的。.NET跨平台仅限于安卓系统和IOS苹果系统。 1…ne...

Fish的博客 1227

.NET、C# 和ASP.NET 三者的关系和区别

一、什么是 .NET ? .NET是微软公司下的一个开发平台,在这个平台下可以用不同的语言进行开发,如 C#、 F#、 Visual Basic等语言来编写.NET应用程序。 JAVA和.NET不同的一点是java是跨平台的,不跨语言的。而.NET构建的应用程序,有些是跨平台的,有些则针对特定的OS或.NET实现。 .NET框架的组成分为两部分: CLR:公共语言运行时(Common Language Runtime),提供内在管理,代码安全性检测等功能。 FLC:.NET框架类库(.NET Frame

qq_30404223的博客 4991

《ASP.NET MVC 5 高级编程》 - 学习笔记

《ASP.NET MVC 5 高级编程》 ========== ========== ========== [作者] (美) Jon Galloway (美) Brad Wilson (美) K. Scott Allen (美) David Matson [译者] (中) 孙远帅 [出版] 清华大学出版社 [版次] 2015年02月 第1版 [印次] 2015年02月 第1次 印刷 [定价] 5...

GATTACA2011 535

ASP.NET与.NET Framework和C#的关系

你好,是我琉忆。 今天我们讲一讲ASP.NET与.NET Framework和C#的关系。 在开始介绍ASP.NET之前,我们需要先了解以下运行ASP.NET的开发平台.NET框架。如果你之前学过C#那么对.NET框架会有一定的了解。当你在编写ASP.NET代码时会发现ASP.NET的代码和C#相近甚至等同。那么你一定会有一些疑问。他们三者是什么关系呢?我们一起来看看。 一.NET Framework Microsoft.net是2000年6月22日微软向全世界推出的,全新的软件开发和服务平台,目的

琉忆编程库 4436
上一篇: asp.net高级教程(一)---asp.net , 还是asp+ ?
下一篇: asp.net高级教程(三)---对象
masterall
博客等级 码龄22年 17粉丝 557原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值