ASP.NET2.0向其它网页传递信息的方法(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:迁移你的Web页面到ASP.NET AJAX 1.0
如果你在Web站点中使用了AtlasControlToolkit,那么这篇文章有助于迁移你的Web页面到ASP.NETAJAX1.0,翻译自ASP.NETAJAXControlToolkit网站。 随着ASP.NETAJAX1.0Beta版的发布,带来了很多根本

你可以通过检查PreviousPage对象来确定页面的载入是否为跨页投递的结果。值如果为null,则说明是普通的载入,而非null值则表明网页来自跨页投递。此外,页面类(Page class)还包含了一个称作IsCrossPagePostBack的方法(method),专门用来确定页面是不是跨页投递的结果。

一旦确定发生了跨页投递,你就可以通过PreviousPage对象的FindControl方法去访问调用页(calling page)上的控件。清单B中的代码是我们例子中的第二页;它由前面列出的页面所调用。

这个页先判断它是不是由跨页投递所调用。如果是,就通过FindControl方法访问来自调用页的数值,并把用此方法得到的控件转换为TextBox控件,然后显示它们的Text(文本)属性的内容。

你可以把整个PreviousPage对象转换成触发跨页投递的页面类型。这个方法允许你访问页面的全局属性(public properties)和方法。在我给出这项技术的实例之前,我有必要重写第一个例子,包含进一些全局属性。清单C是添加了两个属性的第一个清单,这两个属性用于访问域值。

既然现在属性已经建好,那你就能很容易访问它们。要警惕的是,Page类的PreviousPage对象必须转换成正确的类型,这样才能正确访问它的属性。这可以通过把它转换成合适的page类别的对象加以实现。

清单 D说明了这一点,它在页面头部定义了调用页的一项引用,那样这个引用类型就能在代码中使用。通过这项引用,实际的VB.NET代码使用CType函数把PreviousPage对象转换成了适当的类型。这之后,那些属性就可以像代码示范的那样使用了。

关于上述清单中PreviousPage对象IsValid方法的使用在此提醒一下:前页的IsValid属性保证你对它操作之前,它已通过所有合法验证测试。

总结

在网页间传递数据参数有很多项应用,包括保持个人用户信息。祖传的网页解决方案,像使用querystring和cookies,允许你很容易当提交发生时从一个页面指向另一个页面。

ASP.NET 1.1除了提供额外方法外,对这些方法也能很好地支持,可是,ASP.NET 2.0依靠跨页投递,使这方面又有了长足发展。它让一个网页处理来自另一网页的数据变得简单。在你开发你的下一个ASP.NET 2.0程序的时候,可要好好利用这个新概念的优势啊。

[NextPage]
< %@ Page language="vb" %>

< !DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >

< html>< head>

< title>Cross Postback Example< /title>

< /head>< body>

< form id="frmCrossPostback1" method="post" runat="server">

< asp:Label ID="lblName" runat="server" Text="Name:">< /asp:Label>

< asp:TextBox ID="txtName" runat="server">< /asp:TextBox>< br />

< asp:Label ID="lblE-mailAddress" runat="server" Text="E-mail:">< /asp:Label>

< asp:TextBox ID="txtE-mailAddress" runat="server">< /asp:TextBox>< br />

< asp:Button ID="btnSubmit" runat="server" Text="Submit" PostBackUrl="CrossPostback2.aspx" />

< /form>< /body>< /html>

分享:用事实说话!AJAX应用程序开发七宗罪
AJAX bandwagon是个好去处。它带给你更快、更高效、更强动态的应用。但它也有自身的缺陷。 初一看,具备一些常识似乎就能避免这些缺陷,在一定程度上,的确如此。但从DHTML起源来看,AJAX应用

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程