① 试述浏览器访问网页的详细内部过程中数据在TCP/IP网络体系结构中各个层次所用到的协议
学弟
1月9日 16:16 CMI:技术的核心
正如您从我的上一篇文章(以及所有出版物)中所了解到的,Windows XP Embedded 使用基于 SQL 的数据库来存储所有组件。数据库可以是本地或远程的 Microsoft® SQL Server,也可以是本地的 Microsoft® 数据引擎 (MSDE)(可在 Windows XP Embedded CD 上找到)。而 Windows NT Embedded 4.0 则使用一个单一的本地 Jet 数据库 .mdb 文件来存储所有的组件和配置。
为了能够从一组工具中无缝访问本地和远程数据库,同时提供快捷的数据库切换,整个体系结构中设置了一个数据库通信层。该层称为 CMI,或组件管理接口。它的主要目的是在 Windows XP Embedded 工具(Target Designer、Component Designer 和 Component Database Manager)和组件数据库之间提供一个标准接口,而不管数据库驻留在哪里(本地或远程、SQL Server 或 MSDE)。只要与组件数据库中的内容有关,CMI 就会被调用。
因为所有工具都依赖于活动的数据库连接来进行工作,所以任何工具所做的第一件事都是请求 CMI 提供一个活动数据库连接。如果没有可用的数据库连接,CMI 将返回一个失败,而工具将报告一个错误。总之,没有数据库连接,Windows XP Embedded 将不能进行任何工作。
CMI 也支持某种级别的异步数据库访问,这种情况通常发生在远程 SQL Server 数据库和多个客户端之间。所有涉及数据库更改的操作都在 SQL 中处理,并在操作失败时提供复原功能。CMI 还可以区分只读模式和独占模式。任何工具要从数据库中删除信息(当前仅限于组件数据库管理器),都必须具有独占访问权限,如果任何其他工具打开了数据库,该工具将不能获得这一权限。另一方面,如果某工具已经被授予独占访问权限,其他工具将不能访问数据库,直到该工具释放这一权限。
此对象非彼对象
注意:下面的讨论中将使用两个术语 - 组件和实例,二者很容易混淆。简单地说,组件只是一组驻留在数据库中的资源和属性。组件添加到配置中便称为实例,可以修改、处理和构建。可以把组件视为 cookie 模式,而实例是从该模式中创建的实际 cookie。更改 cookie 剪裁模式并不容易,但在剪裁 cookie 后,可以随意对 cookie 进行处理。了解组件和实例之间的这种差异很重要,在本文和以后的文章中都将涉及这一问题。
因为 CMI 是工具的 COM 服务器,这使得 Windows XP Embedded 体系结构形成这样一个基本特性 - 把任何事物都视为对象。配置、组件、实例、资源、文件、注册项、存储库都是 CMI 覆盖下的对象。因此,Windows XP Embedded 体系结构体现了面向对象 (OO) 思想的三个原则:封装、继承和多态。这里我们不对 OO 设计做详细讨论,只解释其中与 Windows XP Embedded 体系结构有关的几个方面。讨论的重点将集中在组件上,但相关的概念可以扩展到所有 Windows XP Embedded 对象。
每个 Windows XP Embedded 对象都是一个独立的单元。组件带有自己的属性和内部代码,以此来封装自己,并与其他对象区分开来。
组件也能够继承其他组件的属性。例如,假定一组设备都基于同一芯片组:假设为声卡驱动器,使用虚构的 SoundExplosion 1A 芯片组。有三个声卡使用该芯片组,但提供不同的功能:一个用于游戏端口,一个用于 MIDI 端口,另一个用于 SCSI 接口。我们不用创建三个大同小异的组件来适应不同的要求,而只需创建一个组件,将基本功能封装进去。然后针对三种差异创建三个组件,并将基本功能组件列为“原型”。这三个组件将继承与原型相关联的属性和资源,但同时也添加了自己的资源。
Windows XP Embedded 对象中的多态通常由 DHTML 配置脚本和构建脚本来处理。DHTML 配置脚本允许组件的最终用户在组件实例中动态设置属性,然后在构建脚本中检查这些属性并对其做出反应。这样,您就可以在构建配置时更改组件的行为,以满足开发人员的需求。
这最后一部分会进一步体现 CMI 面向对象的特性:Windows XP Embedded 中的每个对象都具有一组属性和方法,某些对象甚至能够对事件做出反应。属性可以分为标准属性(如组件名称、组件作者和版权)和高级属性(cmiNoHelpFiles 是组件的一个常用高级属性)。对象的方法可以简单地继承自基本组件(如基本构建行为),也可以是该组件所特有的(如用户接口核心组件,它包含 DHTML 配置脚本以及构建脚本,可以实现不同的 UI 功能)。可以在构建过程中引发事件,并可由组件脚本做出反应。
某些高级属性已经被预定义,组件最常见的高级属性有 cmiNoHelpFiles(构建脚本用它从构建中删除帮助文件)、cmiLangEnableMUI(构建脚本用它来启用组件的多语言用户接口 [MUI] 支持)以及 cmiProtPropList(Target Designer 用它来保护预定义的属性)。要检查组件的高级属性,可以在 Target Designer 中将组件添加到某个配置,然后在 Configuration Editor 中单击该组件,再单击 Advanced。
扩展对象模型
Windows XP Embedded 的对象特性和 CMI 应用不仅限于组件和实例,CMI 也把配置当作对象处理。配置的标准属性包括配置名称、所有者、作者和版权。高级配置属性包括有关目标启动驱动器、启动 ARC 路径和帮助文件的设置。要检查这些属性,可以在 Target Designer 的 Configuration Editor 中选择配置名称,然后在 Details 窗格中单击 Advanced。
与组件和实例的对象身份一样,它们的组成部分也都被视为对象。组件中的每个文件、注册表或其他资源都是对象,分别具有一组属性。要检查这些属性,可以在 Configuration Editor 中展开实例,然后选择 Files、Registry Data 或 Resources。在 Details 窗格中右击所要检查的资源,这时便会显示该资源的标准属性,同时显示 Advanced 按钮,单击该按钮可以显示资源的高级属性。这同样适用于与该配置相关联的 Extra Files、Extra Registry Data 和 Extra Resources。要完成所有内容,每一个组、包、存储库和存储库集也都被作为对象处理,它们都有自己的标准属性和高级属性。
CMI 的运作
假设我们有一个应用程序要包含到一个运行时映像中。一般的过程是先为应用程序创建一个组件,将组件导入数据库,将组件包含在某个配置中,然后构建运行时映像。现在我们看一下 CMI 在其中的作用。(由于要在接下来的两篇文章中详细探讨组件的创建,因此这里只做一个简单的介绍。)
当启动 Component Designer 时,CMI 首先确保具有一个数据库连接。如果创建新组件,CMI 将创建一个新的组件对象,然后 Component Designer 使用该对象作为所定义的所有组件信息的存储位置。基本的创建过程包括定义组件的名称、指定要复制的文件和将其放在运行时映像中的位置,以及指定使用哪个注册表主键并将其放在何处。名称是组件的标准属性,因此它包含在组件对象中。所指定的文件和注册项是 CMI 创建的对象,它们将附加到组件对象中。
导入组件时,先启动组件数据库管理器。数据库管理器首先调用 CMI 来连接安装时指定的数据库,如果 CMI 连接成功,则可以将 SLD 导入到该数据库。(SLD 表示资源级别定义,并称为“滑动”。由 Component Designer 输出。)组件数据库管理器再将 SLD 传递到 CMI,以便进行处理。浏览数据库、删除包和组件以及检查对象的属性都由 CMI 处理,CDM 的作用相当于基本 COM 对象层的 UI。
当最终准备构建运行时映像时,CMI 将再次验证数据库连接。(是否看到了一个模式?)创建新的配置需要由 CMI 来创建相应的对象,完成整个组件浏览器的内容也是如此。要将组件添加到配置,CMI 首先要基于选定的组件创建一个实例,然后将其附加到打开的配置中。同时也要为该实例的文件、注册表和其他资源创建资源对象。在相关性检查过程中,CMI 将负责标识相关性,并创建相关性解析所需的组件列表。在构建过程中,将调用 CMI 来访问要复制的实际文件,同时提供详细的属性信息来处理相应的构建。
② 客户端浏览器访问服务器端的原理
当我们想浏览一个网站的时候,只要在浏览器的地址栏里输入网站的地址就可以了,例如:www.microsoft.com,但是在浏览器的地址栏里面出现的却是: http://www.microsoft.com,你知道为什么会多出一个“http”吗? 一、HTTP协议是什么 我们在浏览器的地址栏里输入的网站地址叫做URL(UniformResourceLocator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如: http://www.microsoft.com/china/index.htm。它的含义如下: 1. http://:代表超文本传输协议,通知microsoft.com服务器显示Web页,通常不用输入; 2.www:代表一个Web(万维网)服务器; 3.Microsoft.com/:这是装有网页的服务器的域名,或站点服务器的名称; 4.China/:为该服务器上的子目录,就好像我们的文件夹; 5.Index.htm:index.htm是文件夹中的一个HTML文件(网页)。 我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Applicationlayer),它包含所有高层的协议。高层协议有:文件传输协议FTP、电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。 HTTP协议(HypertextTransferProtocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以“ http://”开头的原因。 自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用的是HTTP/1.0的第六版。 二、HTTP是怎样工作的 既然我们明白了URL的构成,那么HTTP是怎么工作呢?我们接下来就要讨论这个问题。 由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。 许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。 这个过程就好像我们打电话订货一样,我们可以打电话给商家,告诉他我们需要什么规格的商品,然后商家再告诉我们什么商品有货,什么商品缺货。这些,我们是通过电话线用电话联系(HTTP是通过TCP/IP),当然我们也可以通过传真,只要商家那边也有传真。 以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。 在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接
③ 在TCP/IP协议中,Web浏览器使用的HTTP协议属于什么层协议
属于应用层通信协议。
HTTP是客户端浏览器或其他程序与Web服务器之间的应用层通信协议。在Internet上的Web服务器上存放的都是超文本信息,客户机需要通过HTTP协议传输所要访问的超文本信息。
HTTP包含命令和传输信息,不仅可用于Web访问,也可以用于其他因特网/内联网应用系统之间的通信,从而实现各类应用资源超媒体访问的集成。
(3)浏览器所在的什么叫访问层扩展阅读:
TCP/IP协议的分层
1、网络访问层(Network Access Layer)在TCP/IP参考模型中并没有详细描述,只是指出主机必须使用某种协议与网络相连。
2、互联网层(Internet Layer)是整个体系结构的关键部分,其功能是使主机可以把分组发往任何网络,并使分组独立地传向目标。这些分组可能经由不同的网络,到达的顺序和发送的顺序也可能不同。如互联网层使用因特网协议(IP,Internet Protocol)实现主机和网络的链接。
3、传输层(Transport Layer)使源端和目的端机器上的对等实体可以进行会话。在这一层定义了两个端到端的协议:传输控制协议(TCP,Transmission Control Protocol)和用户数据报协议(UDP,User Datagram Protocol),用于主机与输入输出终端设备进行数据交互。
4、应用层(Application Layer)包含所有的高层协议,包括:虚拟终端协议(TELNET,TELecommunications NETwork)、文件传输协议(FTP,File Transfer Protocol)、(HTTP,HyperText Transfer Protocol)等,这些协议是TCP/IP协议最高层也是最重要的协议。
④ 前端页面有哪三层构成,分别是什么作用是什么
最准确的网页设计思路是把网页分成三个层次,即:结构层、样式层、行为层。
HTML:结构层
网页的结构或内容层是该页面的基础HTML代码。正如房屋的框架为房屋的其他部分构建了一个坚实
的基础,HTML的坚实基础创建了一个可以在其上创建网站的平台。
结构层用于存储客户想要阅读或查看的所有内容。HTML结构可以包含文本和图像,它包括访问者用
于浏览网站的超链接。这是在符合标准的HTML5中编码的,可以包括文本,图像和多媒体(视频,音频等)。
网站内容的每个方面都应该在结构层中表示。这允许关闭JavaScript的客户或无法查看整个网站的
CSS访问权限的客户(如果不是所有功能)。
CSS:样式层
该层指示结构化HTML文档如何看待网站的访问者,并由CSS(层叠样式表)定义。这些文件包含有
关如何在Web浏览器中显示文档的样式说明。样式层通常包括基于屏幕大小和设备更改站点显示的
媒体查询。
网站的所有视觉样式都应位于外部样式表中。您可以使用多个样式表,但请记住,每个CSS文件都需
要HTTP请求才能获取它,从而影响站点性能。
JavaScript:行为层
行为层使网站具有交互性,允许页面响应用户操作或基于一组条件进行更改。JavaScript是行为层最
常用的语言,但CGI和PHP也经常被使用。
当开发人员引用行为层时,大多数都是指在Web浏览器中直接激活的层。您可以使用此图层直接与
DOM(文档对象模型)进行交互。在内容层中编写有效的HTML对于行为层中的DOM交互非常重
要。在构建行为层时,应该像使用CSS一样使用外部脚本文件来优化速度和性能。
(4)浏览器所在的什么叫访问层扩展阅读:
分层的一些好处是:
共享资源:当您编写外部CSS或JavaScript文件时,站点上的任何页面都可以使用该文件。如果
您需要对该文件进行更改,也许更新网站上的某些排版样式,则使用该样式表的每个页面都会得到
更改。没有必要单独编辑网站的每个页面,这对于大型网站来说可能是一项艰苦的任务。
下载速度更快:首次由客户下载脚本或样式表后,Web浏览器会对其进行缓存。由于这些共享
资源现在包含在浏览器的缓存中,因此浏览器中请求的其他页面加载速度更快,从而提高了整体页
面速度和性能。
多人团队:如果您有多个人同时在网站上工作,您可以使用允许文件签入和签出的系统,以确
保每个人都使用最新版本。如果样式和行为与结构文档交织在一起,那就更难了。
搜索引擎优化:一个明确分离风格和结构的网站可能会对搜索引擎有更好的表现,因为它们可以更有效地抓取内容并理解页面而不会陷入视觉风格和行为信息。
辅助功能:外部样式表和脚本文件更易于人们和浏览器访问。屏幕阅读器等软件可以更轻松地
处理结构层中的内容,而无需处理无论如何都无法使用的样式。
向后兼容性:使用单独的开发层设计的站点更可能向后兼容,因为无法使用某些CSS样式或禁
用了JavaScript的浏览器和设备仍然可以查看HTML。然后,您可以使用支持它们的浏览器的功能逐
步增强您的网站。
⑤ Dreamweaver中“层”是什么层有什么作用
现在网络上一般都流行 用层+div 的方法来做网页.
用层可以更好的定位.布局.
层的概念:
层是一种HTML页面元素,是指具有绝对或者相对位置的DIV标签.
通过 Dreamweaver,您可以使用层来设计页面的布局。您可以将层前后放置,隐藏某些层而显示其他层,以及在屏幕上移动层。您可以在一个层中放置背景图像,然后在该层的前面放置第二个层,它包含带有透明背景的文本。
利用层可以非常灵活地放置内容。但是,使用旧版本的 Web 浏览器的站点访问者查看层时可能会遇到麻烦。若要确保所有人都能够查看您的 Web 页,可以使用层设计页面布局,然后将层转换为表。有关更多信息,请参见将层转换为表格。但是,如果您所面对的访问者很可能使用某种最新的浏览器,则可以完全用层来设计布局,而无需将层转换为表格
DIV的意思是区块标签。
如果已经给 div 标签分配了绝对位置(也就是规定了这个DIV标签的样式),它就可充当一个 Dreamweaver 层。
⑥ 浏览器工作原理
工作原理如下:
1、解析HTML构建Dom树(Document Object Model,文档对象模型),DOM 是W3C组织推荐的处理可扩展置标语言的标准编程接口。
2、构建渲染树,渲染树并不等同于Dom树,像head标签 或 display: none这样的元素就不需要放到渲染树中了,但它们在Dom树中。
3、对渲染树进行布局,定位坐标和大小、确定是否换行、确定position、overflow、z-index等等,这个过程叫"layout" 或 "reflow"。
4、绘制渲染树,调用操作系统底层API进行绘图。
(6)浏览器所在的什么叫访问层扩展阅读:
浏览器额的特点:
1、所有主流网页浏览器都可透过多个窗口或多个标签页同时打开多种信息资源,亦可拦截弹出式广告,以防止不必要的窗口在未经用户同意的情况下弹出。
2、大部分网页浏览器皆支持HTTPS,并可快捷地清除网页快照、Cookie及浏览记录。
3、浏览器扩展是一种扩展网页浏览器功能的计算机程序。每个主流的网页浏览器都支持扩展的开发。
⑦ 数据访问层常见的方法有哪几种
一、响应重定向方法
响应重定向方法是目前为止将一个网页重定向到另一个网页的最简单的方法的最简单的方法。当Web服务器接到一个重定向请求后,它会将一个响应头送给客户端,这将导致客户端发送一个新的请求到服务器。按句话说,一个重定向请求实际上是两个请求响应:一个是最初的请求响应,另一个是新的重定向请求响应。
在ASP.NET中实现重定向很容易。下面的代码演示了如何使用Response.Redirect方法实现网页重定向:
protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx");
}
要注意的是重定向请求只是一个GET请求,这就意味着我们不能从源页中通过重定向命令提交数据。但是我们可以在重定向中使用查询字符串来传递数据。如下面代码所示:
protected void Redirect_Click(object sender, EventArgs e)
{
Response.Redirect("menu.aspx?userName=" + UserName.Text));
}
上面的例子将一个查询字符串作为参数传递给了Response.Redirect方法的目标URL。我们可以通过如下的代码获得源数据。
protected void Page_Load(object sender, EventArgs e)
{
string userName = Request["userName"];
}
二、服务器传输方法
和依赖于客户端向另一个新页发请求不同,服务器传输是一种服务器重定向技术,这种技术通过简单的改变Web服务器所处理的代码来达到请求一个新页的目的。当被请求页和源页面在同一个服务器时,服务器传输要比 Response.Redirect方法更有效,这是由于这种技术可以避免额外的开销,仅仅使用服务器的资源就可以进行重定向。要注意的这种技术有一个副作用,在页面进行重定向时,客户端的URL仍然会保持源页面的URL,这可能会使客户认为他们所获得的数据是源页面产生的。当然,在大多数情况下,这不是问题,但是这将使调试变得更困难。
Server.Transfer方法还可以保存初始页的 HttpContext。因此,目标页可以访问源页面的值。我们可以使用FormsCollection属性来从目标页面中获得源页面的值。首先,要确定我们使用了被重载的方法,这个方法有两个参数:目标URL和一个Boolean类型的值,告诉服务器是否保存用于描述源页面值的Form。如下面的代码所示:
Server.Transfer("Menu.aspx",true);
然后,我们在目标页面中获得一个叫txtUserName的Textbox控件的值的代码如下:
object obj = Request.Form["txtUserName"];
三、Response.Redirect和Server.Transfer的比较
由于Response.Redirect方法要进行两次请求响应操作,因此,我们应该在对性能要求高的网站尽量避免使用这种方法。然而,只从技术上说,使用redirect方式确实可以从一个网页跳到另一个网页。相比之下,Server.Transfer会更有效率,但是跳转的范围仅限于同一个Web服务器的不同网页。从本质上说,我们可以使用 Server.Transfer来消除不必要的请求响应操作。如果我们需要重定位到不同服务器的网页,就需要使用Response.Redirect方法。
四、跨页提交概述
在ASP.NET 2.0中,我们可以通过实现IbuttonControl接口提交给不同的WebForm,来实现跨网页的提交。和Response.Redirect类似,跨网页提交是一个基于客户端的传输机制,但也有点象Server.Transfer,目标网页也可以访问源网页的数据。为了使用跨网页提交,我们需要在源网页中的PostBackUrl属性中指定目标URL。
五、实现跨网页提交
这部分将讨论一下如何在ASP.NET2.0中实现跨网页提交。为了开始我们的学习,假设有两个Web页,一个是源Web页,另一个是目标Web页。在源网页中初始化了使用按钮进行的跨网页提交操作。我们首先必须设置目标网页按钮的PostBackUrl属性,顺便说一句,所有实现了System.Web.UI.WebControls.IbuttonControl接口的Web控件都有跨网页提交的特性。下面的代码将演示这一过程。
PostBackUrl="~/target.aspx" text = "Post to a target page"/>
当我们设置PostBackUrl属性时,ASP.NET框架将相应的控件绑定到一个新的叫WebForm_DoPostBackWithOptions的JavaScript函数,产生的Html代码如下:
onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("btnSubmit", "", false, "","Target.aspx", false, false))" id="btnSubmit" />
对于上面的html代码来说,当用户单击按钮时,浏览器将提交目标URL(Target.aspx),而不是源URL。
六、从目标页面中获得源页面控件的值
ASP.NET2.0提供了一个叫PreviousPage的新的属性,这个属性无论在何时当前页面进行跨网页提交操作时都会指向源页面。要注意的是,当源页面和目标页面在不同的应用程序中时,这个属性包含null(这个null并不是未初始化的意思)。还有要注意的是当目标网页访问PreviousPage属性时可以获得源页面的数据,ASP.NET运行时装载并执行了源页面。这将引发ProcessChildRequest事件的发生。而且,它还会引发Page_Init事件、Page_Load和任何其他的源页面按钮单击事件。
因此,我们要避免由于不小心进行误操作,所以最好通过 IsCrossPostBack属性来确认是否为一个跨网页提交发生,如果这个属性值为true,那么目标网页就是通过一个跨网页提交动作而调用的。如果是通过另外一种方式调用的(如一般的请求、Response.Redirect或是一个Server.Transfer),这个属性的值为false。下面的例子演示了如何使用这个属性。
if ( PreviousPage.IsCrossPagePostBack)
{
//执行代码
}
//******************************************
这个PreviousPage属性在Server.Transfer和跨网页提交中都可以使用。在ASP.NET2.0中,我们可以在调用Server.Transfer操作后使用PreviousPage属性在目标页面中来获得源页面的数据,代码如下:
*******************************************//
{
Server.Transfer("menu.aspx");
}
protected void Redirect_Click(object sender, EventArgs e)
//在这个接收面中我们现在可以获得Web页面的数据,代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (PreviousPage != null)
{
TextBox txtBox = (TextBox)
PreviousPage.FindControl("txtUserName");
if (textBox != null)
string userName = textBox.Text;
//其他可执行的代码
}
}
要注意的是上面的代码必须将txtUserName控件转换为TextBox类型,以便可以访问其中的值。
七、使用PreviousPageType
PreviousPageType属性提供了在跨网页操作中访问源页面的强类型能力,下面让我们演示一下如何不通过任何类型转换来从源页面中获得控件值。代码如下:
< asp:Textbox ID="txtUserName" Runat="server" />
< asp:Textbox ID="txtPassword" Runat="server" />
< asp:Button ID="Submit" Runat="server" Text="Login"PostBackUrl="Menu.aspx" />
要注意的是单击按钮可以重定向到一个叫“Menu.asp”的目标页。这个目标页可以使用如下的代码获得用户名和密码:
八、保存视图状态
对于跨网页提交来说,ASP.NET2.0 内嵌了一个叫__POSTBACK的隐藏字段,这个字段包含了关于源页面的视图信息 -- 也就是由源页面提供了,包含了一个带有一个非空PostBackUrl属性值的服务端控件。目标页可以使用__POSTBACK中的信息来获得源页面的视图状态信息。代码如下:
if(PreviousPage!=null && PreviousPage.IsCrossPagePostBack &&
PreviousPage.IsValid)
{
TextBox txtBox = PreviousPage.FindControl("txtUserName");
Response.Write(txtBox.Text);
}
在上面的代码中核对了用于确保PreviousPage属性不为 null的检查代码。顺便提一下,如果目标页和源页面不在同一个应用程序中,这个PreviousPage属性的值为null。只有在进行跨网页提交操作时,IsCrossPagePostBack属性才为true。
这个跨网页提交的特性,是ASP.NET2.0中最强有力的特性之一,这种技术将允许在一个页面中提交到另外一个页面,并且可以在目标页面地无缝地操作源页面中的数据。
⑧ Web标准的三层结构是什么
浏览器,WEB服务器,数据库服务器
⑨ 急急急!!ASP.NET构架B/S三层构架这几个有什么关系吗
BS即Browser/Server(浏览器/服务器)结构,就是只安装维护一个服务器(Server),而客户端采用浏览器(Browse)运行软件。
ASP.NET基于.NET Framework的Web开发平台
三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。
⑩ 什么是WWW浏览器它可以分为哪几类
WWW是World Wide Web的缩写,可译为“环球网”或“万维网”,它是基于Internet提供的一种界面友好的信息服务,用于检索和阅读连接到Internet上服务器的有关内容。该服务利用超文本(Hypertext)、超媒体(Hypermedia)等技术,允许用户通过浏览器(如微软的IE、网景的Netscape)检索远地计算机上的文本、图形、声音以及视频文件。