资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
商务网站设计与开发温浩宇西安电子科技大学第9章 ASP.NET程序结构和执行过程内容 传统 ASP程序的实现 ASP.NETWeb应用程序的构建9.1 ASP.NET Hello World9.2 ASP.NET服务器端控件9.3 思考题9.49.59.1 传统ASP程序的实现动态服务器页面(Active Server Pages,简称为ASP)是微软公司发布的,它将 VBScript、JavaScript脚本语言代码嵌入在标准的HTML文档中,实现了在服务器 端动态生成HTML页面的功能。Hello WorldIm an ASP ProgramIt is now 9.1 传统ASP程序的实现Hello.html文件的代码如下:9.1 传统ASP程序的实现ResponseHello.aspx文件的代码如下:9.2 ASP.NETWeb应用程序的构建通过Visual Studio的“Web Forms模板”可以快速生成ASP.NET应用程序9.2 ASP.NETWeb应用程序的构建通过项目的生成,我们获得 了一个已经具有很多功能的 Web网站项目9.2 ASP.NETWeb应用程序的构建Web项目运行9.2 ASP.NETWeb应用程序的构建在菜单中选择“项 目”,点击“属性 ”可以进入属性编 辑界面9.2 ASP.NETWeb应用程序的构建ASP.NET空Web应 用程序9.2 ASP.NETWeb应用程序的构建一个空Web应用程序建立后,在解决方案资源管理器中只有“Properties”、“引用 ”和“Web.config”三个部分。其中Web.config文件中包括了项目的基本配置参 数,内容如下:可以看出,Web.config是一个XML文档,其中配置了项目的编译选项(debug )和.NET framework版本。在系统开发的过程中还会在该文件中增加更多的数据 内容。9.2 ASP.NETWeb应用程序的构建在“项目”菜单中点击“添加新项”来创建一个名为“Default.aspx”的页 面9.2 ASP.NETWeb应用程序的构建在解决方案资源管理器中可以看到名为“Default.aspx”的文件,点击文件 前面的白色三角,还可以展开出其它的两个文件,分别是 “Default.aspx.cs”和“Default.aspx.designer.cs”。三个文件是共同构 成一个Web窗体的一组文件,缺一不可。其中,“Default.aspx”描述了运 行在浏览器端的HTML元素和运行在服务器端的各个控件,代码如下:9.2 ASP.NETWeb应用程序的构建“Default.aspx.cs”描述了整个Web窗体类的一部分,主要是服务器端控件 的各种事件响应函数和用户编写的代码,代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls;namespace Hello public partial class Default : System.Web.UI.Pageprotected void Page_Load(object sender, EventArgs e) 9.2 ASP.NETWeb应用程序的构建“Default.aspx.designer.cs”则描述了整个Web窗体类的另一部分,主要 是服务器端控件的声明和属性设置等。需要注意的是:此代码由开发工具自 动生成的。代码如下: namespace Hello public partial class Default/ / form1 控件。/ / / 自动生成的字段。/ 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。/ protected global:System.Web.UI.HtmlControls.HtmlForm form1; 9.2 ASP.NETWeb应用程序的构建ASP.NET程序的请求、响应 以及编译过程9.2 ASP.NETWeb应用程序的构建目录名称说说明根目录录包含了网站的配置文件、母版文件和默认的网页文件等。 Account包含了大量与系统注册和登录相关的页面,甚至模板自动生产了 忘记密码、修改密码等常用功能页面。App_Data包含了ASP.NET网站的数据库文件,包括Access(mdb)文件或 者SQL Server(mdf)文件。如果网站不是以文件方式而是服务器 方式访问 数据库,那这个目录中就不会有数据库文件。Content包含了CSS和其他非Scripts和图像的网站内容。 Models包含了表示和操纵数据以及业务对 象的类。 Scripts包含了JavaScript 类库 文件和脚本文件。9.2 ASP.NETWeb应用程序的构建扩展名说说明 .htm、.html用 HTML 代码编写的静态 Web 文件。 .css用于确定 HTML 元素格式的样式表文件。 .js用JavaScript代码编写的浏览器端脚本文件。 .aspxASP.NETWeb 窗体文件(页),该文件可包含 Web 控件及显示和业务逻辑 。.cs运行时要编译的C#类源代码文件。类可以是 HTTP 模块、 HTTP 处理程序、 ASP.NET页的代码隐藏文件或包含应用程序逻辑的独立类文件。 .ascxWeb 用户控件文件,该文件定义可重复使用的自定义控件。 .config配置文件(通常是 Web.config),该文件包含表示ASP.NET功能设置的 XML 元素。.asax通常是 Global.asax 文件,该文件包含从 HttpApplication 类派生的代码。该文件表示 应用程序,并且包含应用程序生存期开始或结束时运行的可选方法。 .slnVisual Studio项目的解决方案文件。 .csproj基于C#的Visual Studio应用程序项目的项目文件。 .master母版页,定义应用程序中其他网页的布局。 .resx资源文件,该文件包含指向图像、可本地化文本或其他数据的资源字符串。.sitemap站点地图文件,该文件包含网站的结构。ASP.NET中附带了一个默认的站点地图提供 程序,它使用站点地图文件可以很方便地在网页上显示导航控件。9.3 ASP.NET Hello WorldASP.NET程序开发的最基本步骤。 打开“Default.aspx”文件,从编辑区域的底部选择“设计”以便进 行可视化编辑。 从工具箱中选择“标准”中的“Label”控件,将其拖拽到编辑区域 中的虚框中。这个虚框实际上是aspx文件中的元素的区域。 在aspx文件中,所有的服务器端控件都应当被放置在系统自动生成的 这个元素中,以形成ASP.NET赖以运行的前后台信息传递机 制。 在可视化编辑界面中选中刚刚拖放进来的Label控件,可以在IDE右下 部分的“属性”区域设置它的属性。将其Text属性的值从“Label” 修改为“Hello World”,本程序所需的功能就完成了。9.3 ASP.NET Hello World9.3 ASP.NET Hello World“Default.aspx” 源代码9.3 ASP.NET Hello World“Default.aspx.designer.cs” 代码如下: namespace Hello public partial class Default / / form1 控件。/ / / 自动生成的字段。/ 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。/ protected global:System.Web.UI.HtmlControls.HtmlForm form1;/ / Label1 控件。/ / / 自动生成的字段。/ 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。/ protected global:System.Web.UI.WebControls.Label Label1; 9.3 ASP.NET Hello World除了可以在代码编辑的过程中设置了Label1对象的Text属性,还可以在程序运行 的时候修改Label1对象的Text属性。在“Default.aspx.cs”文件的Page_Load 函数中增加一条语句,就可以在网页装载的时后设置Label1对象的Text属性值为 “Hello World 2”。代码如下: Label1.Text = “Hello World 2“; 运行后可以看到,网页中没有显示“Hello World”,而是直接显示了“Hello World 2”。 我们继续在aspx文件的可视化编辑中拖放一个按钮(Button1),将其放在 Label1对象的旁边。在可视化编辑区域双击Button1按钮,开发工具将自动跳转 到“Default.aspx.cs”文件的编辑界面,并且会自动增加Button1_Click函数作 为“按钮Click事件”的处理函数。 在“Default.aspx.cs”文件的Button1_Click函数中增加一条语句,就可以在按 钮被点击后后再次设置Label1对象的Text属性值为“Hello World 3”。代码如下 : Label1.Text = “Hello World 3“;9.3 ASP.NET Hello World运行后可以看到,网页加载后显示了“Hello World 2”,而当用户点击按钮后 网页显示了“Hello World 3”。9.3 ASP.NET Hello WorldASP.NET程序执行的过程9.4 ASP.NET服务器端控件 按照运行机理划分,ASP.NET提供了三种服务器端控件与HTML标签 相同并直接映射HTML元素的“HTML服务 器控件”(HTML Server Controls)以新的标签 来定义的“Web服务器控件”(Web Server Controls)检查输 入是否合理的“验证 服务器控件”(Validation Server Controls)。9.4 ASP.NET服务器端控件HTML服务器控件(以下简称为HTML控件)虽然使用客户端 HTML文档中的各种标签,但却先在服务器中执行,然后才返回 浏览器端呈现为各种HTML元素。Aspx文件中一般的HTML元素 都会被看作为字符串文本,在运行生成HTML文档时就直接粘贴 过去。但如果在标签中加入runat=“server“的属性,就使得该 控件被定义为在服务器端执行,执行的结果(HTML片段)被粘 贴到最终的HTML文档中。 控件中所包含的id属性是HTML控件的标示(对象名称),通过 这个标示,服务器端的代码可以在运行的时候操控这个控件。9.4 ASP.NET服务器端控件 下列代码定义了一个HTML控件link1,它是一个超链接控 件,但在aspx代码中没有给出超链接的地址。Visit Hello World!9.4 ASP.NET服务器端控件可以在cs文件的Page_Load函数中加入语句,使得aspx页面在运行时动态地设置link1的超链接地址,代码如下: protected void Page_Load(object sender, EventArgs e) link1.HRef = “http:/www.helloworld.com“; 当浏览器调用此网页的时候,服务器端代码会被执行,可以输入如下HTML代码交给浏览器:Visit Hello World!可以看到,HTML控件其实就是HTML元素的基础上加上runat=“server“所构
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号