频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

ASP.NET 2.0跨网页提交的三种方法(2)

作者: 佚名 出处:eNet硅谷动力 2008-04-14 15:24    砖    好    评论   进入论坛
阅读提示:当在一个ASP.NET Web页面中进行操作时,在默认情况下向当前页进行提交。这个跨网页提交的特性,是ASP.NET2.0中最强有力的特性之一,这种技术将允许在一个页面中提交到另外一个页面,并且可以在目标页面地无缝地操作源页面中的数据。

六、从目标页面中获得源页面控件的值

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.NET 2.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中最强有力的特性之一,这种技术将允许在一个页面中提交到另外一个页面,并且可以在目标页面地无缝地操作源页面中的数据。

【责任编辑:碧海蓝天 TEL:(010)68476606】


共2页: 上一页 [1] 2
【内容导航】
专题
企业Web安全威胁在线评估系统
ASP.NET 2.0基础开发指南
微软的Ajax:Atlas(ASP.net AJAX)
Web 2.0基础知识大全
Websphere入门
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·Java基础教程 (查看74139次)
·UML类图详解 (查看66075次)
·UML统一建模语言 (查看35977次)
·C#技术开发指南 (查看35258次)
·C++是垃圾语言?! (查看34547次)
·Java编程开发手册 (1196个砖)
·Java基础教程 (430个砖)
·C#技术开发指南 (309个砖)
·.NET开发手册 (241个砖)
·PB开发教程 (223个砖)
·Java编程开发手册 (654个好)
·Java基础教程 (574个好)
·.NET开发手册 (274个好)
·PB开发教程 (212个好)
·Delphi开发技术手册 (194个好)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
北漂技术人90天求职纪实
北漂技术人90天求..
微软Forefront企业安全解决方案
微软Forefront企..
微软出价446亿美元收购雅虎
微软出价446亿美..
· 微软出价446亿美元收购..
· 2008年4月全国计算机等..
· 2007年互联网大会
· 华为员工自杀频频拷问..
· 技术人求职简历完备手册
· 勇闯IT培训黑色围城
· 龙芯要做中国的“奔腾”
· 国际文档格式标准开战
· 贝恩资本携手华为22亿..
· 隐私保护技术探讨
· Windows Server 2008专..
· NAC安全访问控制
· PHP开发应用手册
· ASP.NET 2.0基础开发指..
· WCF开发基础
· 路由器设置与口令恢复
清除流氓软件——51CTO特别专题
清除流氓软件——..
ARP攻击防范与解决方案
ARP攻击防范与解..
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· SQL Server 2008/2005..
· SOA 面向服务架构
· SQL Server 2008/2005..
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 中间件应用技术专题
· SQL Server入门到精通
· 病毒查杀专题
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux防火墙
· 打造安全服务器
· SOA 面向服务架构
· PHP开发应用手册
· ADSL应用面面俱到
ARP攻击防范与解决方案
ARP攻击防范与解..
SQL Server 2008/2005全解
SQL Server 2008/..
iSCSI应用与发展
iSCSI应用与发展
· iSCSI应用与发展
· 中间件应用技术专题
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· iSCSI应用与发展
· RAID——磁盘阵列基础
· 病毒查杀专题
· 清除流氓软件——51CTO..
· 路由器设置与口令恢复
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· ADSL应用面面俱到
· ADSL应用面面俱到
· 反垃圾邮件技术应用
· PHP开发应用手册