第九讲页面跳转与数据传输
第九讲 页面跳转与数据传输
教学目的 页面间的跳转 使用查询字符串传送数据到下一页 、实现在页面间交换数据 教学重点: 一、掌握处理页面间关系的方法 二、掌握查询字符串传送数据的方法; 、掌握页面传输数据的方法
教学目的: 一、页面间的跳转 二、使用查询字符串传送数据到下一页 三、实现在页面间交换数据 教学重点: 一、掌握处理页面间关系的方法; 二、掌握查询字符串传送数据的方法; 三、掌握页面传输数据的方法
、添加网页与设置启动项 每个ASP.NET应用程序项目建立时,开发器会自动创 建一个 Webform1.aspx的网页,该网页为项目的启动 网页。 若要向项目中添加网页,则:在“项目”菜单的下 拉菜单上单击【添加Web窗体】,在模板区选择 “Web窗体”,在名称框内输入网页的名称,单击 【打开】按钮,一个新的网页被添加到项目中。 开发器默认第一个网页为启动网页,若需要将 “ Webform2.aspx”设置为项目的启动网页,右击 “ Webform2.aspx”,在弹出菜单上单击【设为起 始页】即可
一、添加网页与设置启动项 每个ASP.NET应用程序项目建立时,开发器会自动创 建一个WebForm1.aspx的网页,该网页为项目的启动 网页。 若要向项目中添加网页,则:在“项目”菜单的下 拉菜单上单击【添加Web窗体】,在模板区选择 “Web窗体”,在名称框内输入网页的名称,单击 【打开】按钮,一个新的网页被添加到项目中。 开发器默认第一个网页为启动网页,若需要将 “WebForm2.aspx”设置为项目的启动网页,右击 “WebForm2.aspx” ,在弹出菜单上单击【设为起 始页】即可
二、页面间的跳转 从一个页面跳转到另一个页面有多种方法实现。 (一)在浏览器的地址栏中输入目的网页的URL 在浏览器的地址栏中输入目的网页的URL,可以定 向到新的网页 (二)调用脚本打开另一个窗口 调用 Javascript脚本的 window.open 方法,可以 打开浏览器的另一个窗口,在该方法的第一个参数 非模态窗口,可以在它与别的窗口间切换焦点。 也可以调用 Javascript脚本的 window. showModaldialog 方法显示一个模态对话 框,在该方法的第一个参数中指定需要展示的页面 的URL。模态对话框独占屏幕焦点,此时不能够将焦 点切换到别的窗口
二、页面间的跳转 从一个页面跳转到另一个页面有多种方法实现。 (一)在浏览器的地址栏中输入目的网页的URL 在浏览器的地址栏中输入目的网页的URL,可以定 向到新的网页。 (二)调用脚本打开另一个窗口 调用JavaScript脚本的window.open()方法,可以 打开浏览器的另一个窗口,在该方法的第一个参数 中指定需要展示的页面的URL。打开的另一个窗口为 非模态窗口,可以在它与别的窗口间切换焦点。 也可以调用JavaScript脚本的 window.showModalDialog()方法显示一个模态对话 框,在该方法的第一个参数中指定需要展示的页面 的URL。模态对话框独占屏幕焦点,此时不能够将焦 点切换到别的窗口
(三)在页面上增加导航按钮 Web窗体服务器控件 Hyperlink专门为导航到新的URL而设计 该控件的 NavigateUrl用来指定导航目标。该属性可以在属性 窗口或程序代码中指定。如指定控件 Hyperlink导航到 Webform2.aspx,则其HTM标记为 asp: HyperLink id="hyperLink runat= server NavigateUrl=" Webform2.aspx">跳转到第二页 K/asp: HyperLink> 由于 Hyperlink控件专门用来导航到新的URL,因此它没有 lick一类的事件来添加额外的代码,若需要在程序中再次改 变它的导航目标,在网页或别的控件的事件中改变其 NavigateUr1属性就是。如 HyperLinkl. NavigateUrl="WebForm3 aspx 当用户单击该控件时,会导航到 Webform3.aspx上去
(三)在页面上增加导航按钮 Web窗体服务器控件HyperLink专门为导航到新的URL而设计。 该控件的NavigateUrl用来指定导航目标。该属性可以在属性 窗口或程序代码中指定。如指定控件HyperLink1导航到 WebForm2.aspx,则其HTML标记为: 跳转到第二页 由于HyperLink控件专门用来导航到新的URL,因此它没有 Click一类的事件来添加额外的代码,若需要在程序中再次改 变它的导航目标,在网页或别的控件的事件中改变其 NavigateUrl属性就是。如: HyperLink1.NavigateUrl="WebForm3.aspx"; 当用户单击该控件时,会导航到WebForm3.aspx上去
(四)利用 DataGrid控件的超级链接列 当浏览数据表的记录时需要跳转到它对应的专门网站 或网页时,使用 Datagrid控件的超级链接列就可以实现。如 数据表的每一行记录了一个学校的简略资料,要实现导航到 各学校的网站,只要将其网站的URL记录在数据表的某列中 将该列联系到 Datagrid控件的超级链接列就可以。导航到网 页的做法类似。 (五)调用 Response. Redirect方法 Response是ASP.NET的一个内部对象,其类名为 Httpresponse,主要的作用是输出数据到客户端。常用到2个 方法: Write方法:输出数据到客户端。如 Response. Write(“He1lo”) ● Redirect方法:将浏览器重定向到新的URL
(四)利用DataGrid控件的超级链接列 当浏览数据表的记录时需要跳转到它对应的专门网站 或网页时,使用DataGrid控件的超级链接列就可以实现。如 数据表的每一行记录了一个学校的简略资料,要实现导航到 各学校的网站,只要将其网站的URL记录在数据表的某列中, 将该列联系到DataGrid控件的超级链接列就可以。导航到网 页的做法类似。 (五)调用Response.Redirect方法 Response是ASP.NET的一个内部对象,其类名为 HttpResponse,主要的作用是输出数据到客户端。常用到2个 方法: ● Write方法:输出数据到客户端。如 Response.Write(“Hello”); ● Redirect方法:将浏览器重定向到新的URL
可以在程序的任何位置使用 Response. Redirect方法 将浏览器重定向到新的URL。如在登录页面中,当验证了用 户的密码和权限确认其为合法用户时,就可以调用该方法定 向到其他页面上。方法是: Response. Redirect(“目标URL”); 如: Response. Redirect(” Webform2.aspx”) 当该行被执行时,就跳转到 Webform2.aspx页面上 Response. Redirect方法首 HTTP响应到客 户端,通知客户端跳转到一个新的URL,然后客户端再发 跳转请求到服务器端。在页面跳转后其内部控件保存的所有 数据都将丢失
可以在程序的任何位置使用Response.Redirect方法 将浏览器重定向到新的URL。如在登录页面中,当验证了用 户的密码和权限确认其为合法用户时,就可以调用该方法定 向到其他页面上。方法是: Response.Redirect(“目标URL”); 如: Response.Redirect(”WebForm2.aspx”); 当该行被执行时,就跳转到WebForm2.aspx页面上。 Response.Redirect方法首先发送一个HTTP响应到客 户端,通知客户端跳转到一个新的URL,然后客户端再发送 跳转请求到服务器端。在页面跳转后其内部控件保存的所有 数据都将丢失
(六)调用 Server. Transfer方法 Server. Transfer方法的作用和调用方式与 Response. Redirect基本是相同的。例如: Server. Transfer(“ WebForm2.aspx”); 调用 Server. Transfer方法跳转到另一个页面 后,浏览器的地址栏中的信息仍然保持不变,表 明重定向的请求是在服务器端进行的,页面跳转 时仅将页面处理的控制权进行了移交,浏览器不 知道服务器执行了一次页面变换。因此,从A页 面跳转到B页面后,在B页面中仍然可以提取到A 页面中的数据,前提是,它们都是.aspx页面
(六)调用Server.Transfer方法 Server.Transfer方法的作用和调用方式与 Response.Redirect基本是相同的。例如: Server.Transfer(“WebForm2.aspx”); 调用Server.Transfer方法跳转到另一个页面 后,浏览器的地址栏中的信息仍然保持不变,表 明重定向的请求是在服务器端进行的,页面跳转 时仅将页面处理的控制权进行了移交,浏览器不 知道服务器执行了一次页面变换。因此,从A页 面跳转到B页面后,在B页面中仍然可以提取到A 页面中的数据,前提是,它们都是.aspx页面
★ Response. Redirect与 Server. Transfer比较 1、Response.Redirect:发送一个HTTP响 应到客户端,告诉客户端跳转到一个新的 页面,客户端再发送跳转请求到服务器 使用此方法时,将无法保存所有的内部控 件数据,页面A跳转到页面B,页面B 将无法访问页面A中Form提交的数据 若需要从A页面传送数据到B页面,可以借 助于查询字符串、 Session对象来实现
★ Response.Redirect与Server.Transfer比较 1、Response.Redirect:发送一个 HTTP 响 应到客户端,告诉客户端跳转到一个新的 页面,客户端再发送跳转请求到服务器。 使用此方法时,将无法保存所有的内部控 件数据,页面 A 跳转到页面 B,页面 B 将无法访问页面 A 中 Form 提交的数据。 若需要从A页面传送数据到B页面,可以借 助于查询字符串、Session对象来实现
2、 Server. Transfer:用于把处理的控制权 从一个页面转移到另一个页面,在转移的 过程中,没有离开服务器,内部控件保存 的信息不变,你能从页面A跳到页面B 而不会丢失页面A中收集的用户提交信息。 此外,在转移的过程中,浏览器的URL栏 不变
2、Server.Transfer:用于把处理的控制权 从一个页面转移到另一个页面,在转移的 过程中,没有离开服务器,内部控件保存 的信息不变,你能从页面 A 跳到页面 B 而不会丢失页面 A 中收集的用户提交信息。 此外,在转移的过程中,浏览器的 URL 栏 不变