介绍ASP.NETWeb页面

介绍ASP.NETWeb页⾯
ASP.NET Web 页⾯允许你为你的 Web 站点创建动态内容。⽽对于静态的 HTML 页⾯(.htm 或者 .html ⽂件),服务器则会通过读取该⽂件并且把它原封不动地发送到浏览器来完成⼀个Web 请求。相反,当有⼈请求⼀个 ASP.NET Web 页⾯(.aspx ⽂件)的时候,该页⾯就会像 Web 服务器上的程序⼀样得到运⾏。⼀旦页⾯开始运⾏,它就可以为你的 Web 站点⽽完成任何必需的任务,包括数值的计算、读取或者写⼊数据库信息,或者调⽤其他程序。⽽作为它的输出,页⾯会动态产⽣标记(HTML 或者其他标记语⾔中的元素)并且把这个动态输出发送到浏览器。
本⽂为 ASP.NET Web 页⾯如何在 Web 应⽤程序中进⾏⼯作的基本特性⽽提供了⼀个概览。
回传与往返旅⾏
ASP.NET 页⾯作为服务器上的代码⽽运⾏。因此,为了让页⾯被处理,在⽤户点击按钮的时候(或者在⽤户选择复选框或者与页⾯中的其他控件进⾏交互的时候),页⾯就被配置成提交到服务器。页⾯每次都被提交到它⾃⼰,因此它可以重新运⾏它的服务器代码然后呈现⾃⼰的⼀个新版本并且返回给⽤户。
测井
ASP.NET Web 页⾯的处理周期是这样的:
1. ⽤户请求页⾯。(页⾯通过使⽤ HTTP GET ⽅法⽽被请求。)页⾯第⼀次运⾏并且完成初步的处理,
如果你已经对它进⾏编程并且要求这样做的话。
2. 页⾯动态地把标记呈现给浏览器,因此⽤户就会发现 Web 页⾯类似于其他的任何页⾯。
3. ⽤户输⼊信息或者作出有效的选择然后点击⼀个按钮。(如果⽤户点击链接来替代按钮,那么页⾯可能只会简单地导航到其他页⾯,并且第⼀个页⾯中不会出现进⼀步的
处理。)
4. 页⾯被发送到 Web 服务器。(浏览器完成⼀个 HTTP POST ⽅法,从⽽在 ASP.NET 中被看成是⼀个回传。)尤其要注意的是,页⾯是被回传到它⾃⾝的。例如,如果
⽤户正在与 Default.aspx 页⾯进⾏操作,那么点击该页⾯中的⼀个按钮就可以把指向 Default.aspx 的页⾯回传到服务器。
5. 在 Web 服务器中,页⾯会重新运⾏。由⽤户输⼊或者选中的信息就可以⽤在这个页⾯中。
6. 页⾯完成你的编程处理。
7. 页⾯把它⾃⼰呈现回浏览器。
这个周期会在⽤户与页⾯进⾏操作的期间⼀直得到延续。每次⽤户点击按钮,页⾯中的信息都被回传到 Web 服务器并且页⾯也会重新运⾏。每个周期都被看作是⼀个往返旅⾏。因为页⾯的处理是出现在 Web 服务器中的,因此页⾯完成每个动作都需要⼀次服务器的往返旅⾏。
阿萨法 鲍威尔提⽰:ASP.NET Web 页⾯可以运⾏客户端脚本,从⽽不需要到服务器的往返旅⾏,并且对于⽤户输⼊验证和某些类型的 UI 编程来说是⾮常有⽤的。关于更多信息,参考:[使⽤客户端脚本的 ASP.NET Web 页⾯编程]。
跨页⾯提交
在有些环境中,你可能需要把页⾯提交到⼀个不同的页⾯,⽽不是它⾃⼰。这就被看作是跨页⾯提交。例如,你可能创建⼀系列的页⾯来处理客户订单。⽽每个页⾯都可以提交到页⾯序列中的下⼀个页⾯。关于更多信息,参考:[ASP.NET Web 页⾯中的跨页⾯提交]。
页⾯寿命
不像桌⾯应⽤程序窗体⼀样,ASP.NET Web 页⾯不会启动,并且运⾏直到⽤户与窗体进⾏操作,然后只在⽤户点击 Close 按钮的时候才进⾏卸载。这是因为 Web 天⽣就是⽆连接的。当浏览器请求 Web 服务器中的页⾯时,浏览器与服务器只是在处理请求的时候才是连通的。在 Web 服务器把页⾯5060lu
呈现给浏览器之后,连接就被终⽌。如果浏览器对相同的 Web 服务器产⽣了另外的请求,即使是相同的页⾯,那么这个请求也会被当成⼀个新的请求⽽被处理。
天⽣就是⽆连接的 Web 决定了 ASP.NET 页⾯运⾏的⽅式。当⽤户请求⼀个 ASP.NET Web 页⾯的时候,该页⾯的⼀个新实例就会被创建。页⾯完成它的处理,并且把标记呈现给浏览器,然后就被废弃。如果⽤户点击⼀个按钮来完成回传,那么就会创建该页⾯的⼀个新的实例,页⾯再次完成它的处理,并且重新被废弃。因此,每次回传与往返旅⾏都会导致页⾯的⼀个新的实例被创建。
关于更多信息,参考:[ASP.NET Web 页⾯]。
保留页⾯状态
在常规 HTTP 协议中,服务器所拥有的页⾯信息仅仅是由⽤户使⽤页⾯中的控件所指定的信息,因为浏览器只在页⾯被提交的时候才把这些信息发送给服务器。⽽其他信息则被废弃(⽐如变量的值与特性设置)。ASP.NET 会通过下列⽅式来保持其他页⾯信息:物理老师演示电流
ASP.NET 在往返旅⾏之间保存控件设置(以及特性),从⽽被称作保存控件状态。
ASP.NET 提供状态管理能⼒,因此你可以在往返旅⾏中保存你⾃⼰的变量与应⽤程序或者与会话特定的信息。
ASP.NET 可以检测页⾯第⼀次被请求和页⾯被回传,从⽽允许你进⾏有针对性的编程。例如,你可能需要在页⾯第⼀次被显⽰的时候从数据库中读取信息,但不是每次回传都这样做。
提⽰:服务器可以被配置成缓存页⾯信息来优化页⾯,但是出于应⽤程序编程的⽬的,这是最清晰的页⾯考虑,类似于服务器⼀旦完成对页⾯的处理之后就会⽴即进⾏清理。
关于更多信息,参考:[ASP.NET 状态管理概览]。
ASP.NET Web 页⾯编程
你可以在 .NET Framework 中使⽤不同的编程语⾔来为你的 ASP.NET Web 页⾯创建服务器代码,包括 Visual Basic,C# 和 J#。ASP.NET Web 页⾯还可以包含运⾏在浏览器中的客户端脚本。并且⼀些 ASP.NET 功能还会⽣成客户端脚本并且把它们注⼊到页⾯中。在这种情况下,ASP.NET 会始终为了最佳的跨浏览器功能⽽⽣成 ECMAScript(JavaScript)。另外,你还可以为⾃定义的功能⽽添加你⾃⼰的客户端脚本。如果这样做,你就可以使⽤任何与你所针对的浏览器相兼容的客户端脚本语⾔。
服务器控件
与所有 Web 页⾯⼀样,ASP.NET Web 页⾯也可以包含静态⽂本。通常,你⽆论如何都会把控件添加到页⾯,⽐如⽂本框,复选框和按钮。这些控件允许⽤户与页⾯进⾏交互并且在页⾯被回传之后把信
息发送到服务器。
ASP.NET 所提供的⼀系列的控件被称作 Web 服务器控件。ASP.NET 服务器控件类似于相应的 HTML 窗体元素。例如,ASP.NET TextBox 控件就类似于 HTML 中的 <input type="text">标记。但是,ASP.NET 服务器控件提供了⽐ HTML 元素更加丰富的编程体验。ASP.NET 服务器控件同样提供了⽐ HTML 元素所能提供的更加⼴泛的功能。你可以在 ASP.NET Web 页⾯
中使⽤的服务器控件之⼀就是⽇历控件、显⽰列表或者⽹格的数据绑定控件,登⼊控件可以为你的站点添加安全性,等等更多。
关于更多信息,参考:[ASP.NET Web 服务器控件]。
云雨二十四式页⾯与服务器控件的事件
ASP.NET Web 页⾯与其中的控件⽀持⼀个与 Windows Forms 中相似的事件模型。例如,当⽤户点击 ASP.NET Web 页⾯中的⼀个 Button 服务器控件的时候,页⾯就会被回传到服务器,并且重新被创建,然后点击事件就被触发。因此你可以把代码添加到响应这个点击事件的页⾯中。
页⾯本⾝会在它被初始化的时候引发⽣命周期事件,⽐如 Page_Init 与 Page_Load 事件,从⽽为你提供机会来运⾏页⾯启动时的代码。(要记住页⾯会在每次的往返旅⾏中被创建并且被重新初始化。)
单独的控件可以触发它们⾃⼰的事件。⽐如 Button 控件会引发⼀个 Click 事件,复选框与单点按钮控件会引发⼀个 CheckedChanged 事件,⽽列表框与下拉列表控件则会引发⼀个 SelectedIndexChanged 事件。有些控件,⽐如 Calendar 控件,还会引发⽐简单的点击事件更加抽象的事件。例如,Calendar 控件会在⽤户导航到⼀个不同的⽉份时引发⼀个 VisibleMonthChanged 事件。
多数 ASP.NET 服务器控件只⽀持少量能够在服务器代码中被处理的事件。如果要对事件进⾏处理,那么页⾯就必须完成⼀个往返旅⾏,因此⽤户的选择就可以被发送到页⾯来进⾏处理。但是,服务器控件不会暴露⾮常频繁发⽣的事件(⽐如 onmouseover),因为这样的事件每次被引发时,都会产⽣额外的服务器往返旅⾏,因此可能会严重影响页⾯的响应时间。因此,你可以配置 ASP.NET 服务器控件来引发客户端脚本(⽐如 onmouseover)。在这种情况下,控件就不需要回传到服务器,并且你还需要创建客户端脚本来对事件进⾏响应。
台湾921地震
更多关于创建并且使⽤事件和事件处理器的信息,参考:[ASP.NET Web 页⾯中的服务器事件处理]。
浏览器的兼容
因为 ASP.NET Web 页⾯的处理出现在 Web 服务器中,因此 ASP.NET Web 页⾯与任何浏览器与移
动设备都是兼容的。Web 页⾯会⾃动呈现适应于浏览器的正确标记(XHTML 或者其他标记语⾔)来显⽰样式与布局。作为选择,你还可以使⽤特别被设计⽤来为特定设备(⽐如移动电话)呈现输出的控件来创建 Web 页⾯。关于更多信息,参考:[创建 ASP.NET Mobile Web 页⾯]。

本文发布于:2024-09-22 19:40:20,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/160848.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:服务器   控件   信息   事件   浏览器   点击   创建
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议