
ASP.NET 2.0中实现跨页面提交
发布时间:2006-03-16 19:09:25 来源:天极开发 网友评论 0 条
在ASP.NET 1.X 版本中,页面都是提交到自己本身,并不能方便的指定需要提交的目的页面。例如FirstPage.aspx中的button只能提交到FirstPage.aspx,而不能提交到SecondPage.aspx。很多时候,ASP.NET 1.X这样工作方式使我们的开发方式受到不少限制。熟悉ASP/JSP/PHP的朋友大概很不习惯,因为以前经常使用的提交方式突然无法使用,虽然也有解决这个问题的方法(欲详细了解的读者可去微软网站收看webcast),可是过程太烦琐,不甚方便。令我们高兴的是,ASP.NET 2.0中有了跨页面提交的简单方法。
简单的例子
首先看看下面的代码,FirstPage.aspx中的Button通过指定PostBackUrl属性可以提交到指定的页面:
FirstPage.aspx
SecondPage.aspx
打开FirstPage.aspx,输入内容并按下"Postback to Second Page"按钮提交,页面就会提交到SecondPage.aspx,输入的内容也会显示在SecondPage.aspx上。注意FirstPage.aspx中Button2新增的PostBackUrl属性,还有SecondPage.aspx中的@PreviousPageType指令。这些新增的内容,正是ASP.NET 2.0 中的跨页提交的方案的组成部分。
大家可能会发现,在使用ASP.NET 2.0 的跨页面提交功能的时候,目标页面都是在源页面的窗口中打开的。但有时候我们需要在新的窗口中打开目标页面,通过修改源页面中<form>的属性可以实现这一点。如下面的代码所示:
简单的例子
首先看看下面的代码,FirstPage.aspx中的Button通过指定PostBackUrl属性可以提交到指定的页面:
FirstPage.aspx
| <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> public String UserName { get { return this.txtName.Text; } } protected void Button1_Click(object sender, EventArgs e) { Label1.Text = "Postback from self. Your Name is: " + txtName.Text; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <meta content="text/JScript" http-equiv="content-script-type" /> <title>First Page</title> </head> <body> <form id="form1" runat="server"> <div> <h3>The Frist Page</h3> Your Name: <asp:TextBox ID="txtName" runat="server" /> <asp:Label ID="Label1" runat="server" EnableViewState="False" /><br /> <br /> <asp:Button ID="Button1" runat="server" Text="Postback to Same Page" OnClick="Button1_Click" /><br /> <br /> <asp:Button ID="Button2" runat="server" Text="Postback to Second Page" PostBackUrl="~/SecondPage.aspx" /><br /> </div> </form> </body> </html> |
SecondPage.aspx
| <%@ Page Language="C#" %> <%@ PreviousPageType VirtualPath="~/FirstPage.aspx" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { this.Label1.Text = "Your Name is : " + PreviousPage.UserName; } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Second Page</title> </head> <body> <form id="form1" runat="server"> <div> <h1>This is the Second Page</h1> <p><asp:Label ID="Label1" runat="server"></asp:Label> </p> </div> </form> </body> </html> |
打开FirstPage.aspx,输入内容并按下"Postback to Second Page"按钮提交,页面就会提交到SecondPage.aspx,输入的内容也会显示在SecondPage.aspx上。注意FirstPage.aspx中Button2新增的PostBackUrl属性,还有SecondPage.aspx中的@PreviousPageType指令。这些新增的内容,正是ASP.NET 2.0 中的跨页提交的方案的组成部分。
大家可能会发现,在使用ASP.NET 2.0 的跨页面提交功能的时候,目标页面都是在源页面的窗口中打开的。但有时候我们需要在新的窗口中打开目标页面,通过修改源页面中<form>的属性可以实现这一点。如下面的代码所示:
| <form id="MainForm" Target="_blank" runat="server"> |
全站资源
- 微软官方入门教程19:轻松掌握Vista系统的快
- 微软2008大冲击,预借Vista SP1力促Vista市
- 在收件箱中获得 Windows Vista 的最新更新
- 微软官方Vista入门教程全集19篇(Vista学院
- Windows Vista 的成功将势不可挡
- 快快抛弃Vista,拥抱XP SP3!你觉得呢?
- 浅谈Vista系统关闭虚拟内存与使用内存盘加速
- 嘿嘿,按下键盘上面的三个键,马上让你的Vi
- Windows Vista的盗版率只有Windows XP的一半
- 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
- 用ASP.NET 2.0设计网络在线投票系统
- 在ASP.Net 2.0中实现多语言界面的方法
- 轻松加密ASP.NET 2.0 Web程序配置信息
- 在ASP.NET中使用AJAX的简单方法
- .NET 2.0中的企业库异常处理块简述
- 面向.NET开发人员的Ajax 技术平台策略
- 揭开ASP.NET中Cookie编程的奥秘
- ASP.NET2.0服务器控件之创建自定义控件
- ASP.NET2.0中Gridview中数据操作技巧
- ASP.NET 2.0发送电子邮件全面剖析之二
最新技术文档
- 在ASP.NET中使用AJAX的简单方法
- 轻松加密ASP.NET 2.0 Web程序配置信息
- 虚拟主机下asp.net 2.0的导航控件treeview,
- asp.net身份验证和授权
- 迁移你的Web页面到ASP.NET AJAX 1.0
- ASP.NET技巧:HTTP性能调优之设置连接失效时
- 如何改变asp.net项目名称
- ASP.NET 2.0页面性能的考虑
- ASP.NET 2.0打造购物车和支付系统之二
- asp.net URL重写(URLRewriter) 之简化版
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
