ASP.NET网站建设之代码分离

关于ASP.NET页面与代码分离 1.我们先创建一个页面看看具体如何: 2.来看它的后台文件 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web. 阅读详情

在我们传统的网站建设中通常是先设计网站页面,再利用开发工具,在网站的框架内进行功能设计。这样的网站建设存在很多弊端,其中最突出的缺点是不利于小组共同开发,各环节之间依赖性太强。

在ASP.NET中我们可以利用后台编码,把HTML用户界面设计(颜色、美学等)与页面代码区分开来。这样就可以解决我们小组的并行开发问题。

其主题思想是:美工来进行网站页面的设计,程序员对网站要实现的功能分模块开发。待到页面和功能模块开发完毕后,我们只要在美工界面中对其HTML代码稍加修改,就可以完成对应的功能。

下面就用一个小例子来进行说明。



程序员完成的功能有如下模块:

1. 在左边的Column1处点击,中间的三个内容显示小组三条新闻

2. 在Column2处点击,中间的三个内容显示三个人员情况

3. 在Column3处点击,弹出一个窗口显示一张照片。

为了测试,我们可以将这三个功能分别交给两个程序员来做。

甲程序员:完成模块1和2

1. 甲可以先建立一个WebApplication,在界面上放入两个ImageButton:IBtnNews,IBtnMember和六个Label:Lb1Title,Lb1Detail, Lb2Title,Lb2Detail, Lb3Title,Lb3Detail。生成一个Web应用程序,点击IBNews,六个Label显示小组新闻,点击IBMember,六个Label显示小组三名成员。这样我们就为建立源文件创建好了条件。

2. 我们建立一个C#类文件CodeBehind.cs。

3. 由于我们是建立的Web程序,则需要在添加引用中,添加System.Web.dll应用。

4. 去掉构造函数,因为后台编码不需要创建类。

5. 让类从Page对象上继承功能,即

public class CodeBehind:System.Web.UI.Page

6. 将刚才生成的WebApplication中的相关代码复制进来,主要有两个部分:声明部分和方法部分,在这里把应用程序中的可访问级别protected,改为public,因为只有这样外部的代码才可以访问我们的方法和变量,要注意的是页面上所有与后台编码文件交户的控件都要有一个对应的本地变量。

7. 生成一个CodeBehind.cs。

至此,甲程序员的工作完成。乙程序员可以用同样的方式生成他的CodeBehind.cs文件。甲乙两位程序员进行代码合成,完成一个完整的CodeBehinde.cs;

代码如下:

using System;

using System.Web.UI;

using System.Web.UI.WebControls;



namespace codetest

{

public class News:System.Web.UI.Page

{

public System.Web.UI.WebControls.Label Lb1Title;

public System.Web.UI.WebControls.Label Lb1Detail;

public System.Web.UI.WebControls.Label Lb2Title;

public System.Web.UI.WebControls.Label Lb2Detail;

public System.Web.UI.WebControls.Label Lb3Title;

public System.Web.UI.WebControls.Label Lb3Detail;

public System.Web.UI.WebControls.ImageButton IBtnNews;

public System.Web.UI.WebControls.ImageButton IIBtnMember;

public System.Web.UI.WebControls.ImageButton IBtnContact;



public void IBtnNews_Click(object sender, System.Web.UI.ImageClickEventArgs e)

{

…………………………

}



public void IIBtnMember_Click(object sender, System.Web.UI.ImageClickEventArgs e)

{

…………………………

}





public void IBtnContact_Click(object sender, System.Web.UI.ImageClickEventArgs e)

{

string strScript="<script language=javascript>/n";

strScript+="window.alert("+"/"电话:66763467/""+");";

strScript+="</script>";

Response.Write(strScript);

}



}

}

下面我们来说明如何将建好的后台代码和美工好的网页结合起来。

1.集成工程师生成一个新的WebApplication,将CodeBehind.cs文件保存在bin目录下,并将其加入引用。

2.集成工程师将美工好的网页的图片加入对应的引用,复制HTML代码,放入新的WebApplication的页面中,这样,我们就可以看到美工好的页面展现在我们的.aspx文件中。

3.更改页面最上面的黄色代码,其中Codebehind="CodeBehind.cs":让页面后台支持的代码指向我们写好的cs文件。Inherits="codetest.CodeBehind":让页面继承于类CodeBehind中的功能,codetest为我们定义的名词空间。

4.在HTML代码中<body>内填入< form id="Form1" method="post" runat="server">在</body>上面加上</form>。

5.相对应的地方拖入Web控件,注意这里的ID要与cs文件中的定义对应。

6.在HTML代码中,找到Web控件,添加对应的方法名称。

这样就结合完毕。运行看看效果如何。





大家看上面在改动HTML代码的时候稍显麻烦,我们还有一种更简单的方法,只要在后台文件中加入几行代码,我们就不必在HTML中找到控件的位置,加入事件引用了。

在后台文件中加入

protected override void OnInit(EventArgs e)

//此方法引发Init事件,当服务器控件初始化是发生。

{

初始化控件方法()

base.OnInit(e);

}

private void初始化控件方法();

{

this.控件名.Click+=new EventHandler(控件事件响应方法);

}

上面两个方法的加入,我们可以看到,只要我们在后台代码中加入初始化控件的方法,就可以将对应的事件加入进去,而不用在HTML代码中加入事件引用了。同样,我们将常用的Page_Load事件也可以实现

只要加入:

Private void Page_Load(object sender,System.EventArgs e)

{

代码;

}

private void初始化控件方法();

{

this.控件名.Click+=new System.EventHandler(控件事件响应方法);

this.Load+=new System.EventHandler(this.Page_Load);

}

EventHandler:是表示将处理不包含事件数据的事件的方法。

控件事件响应方法只要符合:方法名(object sender,System.EventArgs e)就可以。



目前存在的问题:

1. 如何保持美工所作的效果不因使用了Web控件而受影响。

2. 多人在做同一个网页的时候,只能通过合并cs文件的方法来集成后台代码。不利于代码的维护。





作者Blog:http://blog.youkuaiyun.com/lfeng15/

《动态网站建设》 动态网站建设试题类型试题数量总分论述题110.00分名词解释220.00分简答题330.00分。 阅读详情

相关推荐

【使用ASP.NET开发Web项目】第一课——初识ASP.NET,创建第一个ASP.NET程序

知识点:理解 ASP.NET 的概念和优势、会创建 ASP.NET Web Form 程序、理解 ASP.NET Web Form 程序的执行阶段、会使用代码内嵌和代码后置两种方式进行编码。 1、网站开发基础了解 1.1 网站开发各环节组成 1.2 开发网站需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML、DIV+CSS 页面特效:JavaScr...

王迪 2万+

ASP.NET中的代码分离

ASP.NET中包含了一种新方法:将商业逻辑代码从表达代码中分离出来。这通常被称为背后的代码,功能非常强大,并且非常容易执行。 实现步骤就是:向ASP.NET页面中增加用户界面元素,并为它们指定属性“runat=server”。然后,用.NET语言创建一个类文件来操作这些用户界面元素。最后,在ASP.NET页面顶部增加一个指令,将用户界面与操作它的类...

weixin_34301132的博客 144

ASP个人网站建设设计实战课程包

在本章,我们将介绍ASP个人网站建设设计的概念、目的和基本构成。ASP(Active Server Pages)是一种服务器端脚本环境,它允许我们创建和运行动态、交互式网页。对于个人网站来说,ASP能够提供强大的动态内容支持,如实时新闻更新、用户交互数据管理等。Active Server Pages(ASP)是一种服务器端脚本环境,它允许开发者使用HTML、脚本语言(比如VBScript和JavaScript)以及可选的组件来创建动态交互式网页。

weixin_36178216的博客 435

.Net 的代码分离原理

“代码分离”是一种为了更好的分离商业逻辑和美工页面而设计的一种新的编译模型,它本身和ASP的混合模式存在着根本上的区别。因为ASP是使用脚本语言(例如VBscript或者Javascript)编写的,所以当我们访问ASP页面时,脚本的执行引擎会对代码进行线性分析然后再解释执行。而ASP.NET使用了编译模式,所以执行效率要比ASP高很多。在我们设计ASP.NET应用程序时,我们可以选在“内联”或者...

weixin_34268169的博客 192

搭建PX4开发系统(Ubuntu 22.04)

本文是《从零开始学 PX4 无人机开发》系列第二篇,适合开发者在 Ubuntu 系统下快速搭建 PX4 编译与仿真环境,支持 QGroundControl、Gazebo、MAVSDK 等完整工具链。

qq_15856721的博客 4201

Matlab Arduino 硬件支持包安装 MATLAB_Support_Package_for_Arduino_Hardware

Matlab Arduino硬件支持包离线安装

weixin_43283734的博客 2841

ASP.NET代码分离

ASP.NET代码分离之网站建设应用现在是一个主流的概念,那么具体的模块和结构是什么呢?本文就向你介绍这方面的内容。 ASP.NET代码分离之网站建设应用之前在我们传统的网站建设中通常是先设计网站页面,再利用开发工具,在网站的框架内进行功能设计。这样的网站建设存在很多弊端,

一路向东 1026

机理模型与数据模型融合的方式

风电场的发电量受到多种因素的影响,包括但不限于风速、温度、空气密度等。尽管这些环境变量可以直接测量并用作模型输入,但它们与发电量之间的关系往往是复杂的非线性关系。通过引入基于物理定律计算出的理论发电量作为额外特征,可以为数据驱动模型提供更丰富的信息,从而提高预测精度。在这个案例中,我们将使用贝茨理论(Betz Limit)来计算风电场的理论发电量,并将其作为一个新的特征添加到数据集中。然后,我们使用增强后的数据集训练一个简单的神经网络模型来进行发电量预测。

金石软件 4806

Visual Studio 2017【使用ASP.NET开发Web项目】第一课——初识ASP.NET,创建第一个ASP.NET程序

知识点:理解 ASP.NET 的概念和优势、会创建 ASP.NET Web Form 程序、理解 ASP.NET Web Form 程序的执行阶段、会使用代码内嵌和代码后置两种方式进行编码。 1、网站开发基础了解 1.1 网站开发各环节组成 1.2 开发网站需要的知识结构 (1)网站开发前台页面技术 页面设计:HTML、DIV+CSS 页面特效:JavaScript、jQuery (2)OOP编程核心公共技能 C#...

ba_wang_mao的专栏 1万+

从官方例程到实战:AXI Memory Mapped To PCIe 核在FPGA-RC模式下的配置与调试全解析

本文详细解析了AXI Memory Mapped To PCIe核在FPGA-RC模式下的配置与调试方法。从IP核基础结构到实战参数设置,再到例程代码剖析和调试技巧,全面覆盖了AXI与PCIe协议转换的关键技术点,帮助开发者高效实现FPGA与PCIe设备的高速数据交互。

weixin_42550597的博客 267

CANbus收发器ADM3053BRWZ-REEL7应用原理图设计

ADM3053 在 CAN 协议控制器与物理层总线之间创建一个 完全隔离的接口。该器件具有限流和热关断特性,可防止输出短路。额定温 度范围为工业温度范围,提供 20 引脚、宽体 SOIC 封装。该器件采用 5 V 单电源供电, 提供完全隔离的 CAN 解决方案。ADM3053 是一款隔离式控制器区域网络 (CAN) 物理层收 发器,集成隔离 DC/DC 转换器,符合 ISO 11898 标准。该器件采用 ADI 公司的。Coupler® 技术,将双通道隔离器、 CAN 收发器和 ADI 公司的。

zhusl6688的博客 1239

ASP.NET网站建设基本常用代码

ASP.NET网站建设基本常用代码 1.为按钮添加确认对话框Button.Attributes.Add("onclick","return confirm('确认?')");Button.Attributes.Add("onclick","if(confirm('确定?')){return true;}else{return false;}") 2.表格超连接列传递参数&lt...

adlihgh692910的博客 305

GEE案例:计算区域生态总体脆弱性分析

计算区域生态总体脆弱性分析需要考虑多个指标和因素。下面是一个基本的方法:选择指标:选择一组能够反映区域生态系统脆弱性的指标。这些指标可以包括生物多样性指数、森林覆盖率、湿地保护率、土地退化程度等。为每个指标分配权重:为了使得各指标在计算中的重要性相对均衡,可以为每个指标分配一个权重。权重可以根据各指标的重要性和可利用的数据进行确定。数据收集和处理:收集每个指标的数据,并对其进行处理,确保数据的准确性和一致性。如果有需要,可以对数据进行归一化处理。计算指标值:根据收集的数据和权重,计算每个指标的值。

此星光明博客 466

初识ASP.NET,创建第一个ASP.NET程序

打开 Visual Studio 2017,点击菜单栏【文件】——【新建项目】, 在弹出的【新建项目】窗口中,在左侧展开“其他项目类型”列表,在列表中选择“Visual Studio 解决方案”。弹出【添加新项目】窗口,在窗口的左侧选择开发语言是“Visual C#”,在窗口的 右侧选择“ASP.NET Web应用程序(.NET 应用程序)”,最后给您的Web站点起个名字,这个案例里,我们起的是“HelloWeb”,并浏览选择 Web 站点的保存位置后,最后单击【确定】按钮。

u012675552的博客 2186

YOLOv13改进策略【YOLO和Mamba】| 替换骨干 Mamba-YOLOv13-T !!! 最新的发文热点

模块是模型中的一个重要组成部分,其主要作用是在模型的初始阶段对输入图像进行处理,方便后续的特征提取和目标检测。以下是对。

Limiiiing的博客 354

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

网站建设中ASP.NET和.NET的区别和联系

关于ASP.NET和.NET的区别和联系 对于一个新手,往往会被这些名字给搞蒙了,对不起(笨小孩我也被搞蒙过,见笑啦),这归根结底还是怪自己对知识掌握和了解的不够,废话不多,直接到主题。 ASP.NET和.NET的区别和联系 .NET 一般所说的.NET指的是.NET框架即为(.Net Framework),他是微软提供的开发平台框架,可以做以下事情 Windows 应用程序 Web ...

weixin_41524411的博客 404

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

最全的ASP.NET开源CMS汇总

摘要:汇总了一些asp.net开源cms,希望对学习ASP.NET的人员带来帮助.   国内: 1.SiteServer CMS SiteServer CMS 网站内容管理系统(著作权登记号2008SR15710)是定位于中高端市场的CMS内容管理系统,能最近汇总了一些asp.net开源cms,希望对学习ASP.NET的人员带来帮助:   国内CMS:   1.SiteServe

无名指的约定 6770

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ASP.NET网站建设专家》开始印刷第二版

ASP.NET网站建设专家》开始印刷第二版 By  feiying 发表于 2006-4-4 16:19:26  《ASP.NET网站建设专家》在去年7月份上市后,就得到大家的厚

箫箫博客 923

asp.net CMS

最近汇总了一些asp.net开源cms,希望对学习ASP.NET的人员带来帮助:国内CMS:1.SiteServer CMSSiteServer CMS 网站内容管理系统(著作权登记号2008SR15710)是定位于中高端市场的CMS内容管理系统,能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大的网站平台。   SiteServer CMS 是

浅沫的专栏 1104

(转)网站建设的程序语言,Asp,Php,Jsp,Asp.Net优势比较

网站建设的程序语言,Asp,Php,Jsp,Asp.Net优势比较 [青云科技编辑] 很多SOHOER都希望有个自己的网站,而对网站建设一无所知,或者一知半解.今天我先讲程序方面的区别,相信很多人碰到了有些公司说php比Asp,Asp.Net都要好,或者Asp比其他语言都要好。其实,程序的优略与网站开发人员的经验/技术水平相关,而语言本身并没有什么优略之分.经验多的程序员,不管使用的哪...

dianyin8310的博客 289
上一篇: 浅析asp.net生成随机密码
下一篇: 如何在.NET应用程序中使用数据库层
fleplf
博客等级 码龄18年 2粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值