[代码]获取源页的公共属性值

来源:互联网 发布:java vbs 编辑:程序博客网 时间:2024/05/16 12:19

重点总结
在ASP.NET中,要想从目标页获取源页的数据信息,可以使用两种方法:
一是通过获取源页的控件进而获取控件的属性值。
二是直接通过获取源页公开的公共属性来获取源页数据。

本示例代码则演示如何通过获取源页的公共属性达到获取源页数据的目的。
为了达到这样的目的,必须要将Page.PreviousPage属性引用的源页进行强类型的转换。
这可以通过为目标页添加@PreviousPageType指令,或者@Reference指令。

一、@PreviousPageType


示例代码
本示例代码中,源页中包含一个文本框控件,以便用户可以输入自己的姓名。并且源页也包含一个名为UserName的公共属性,此属性返回的就是用户在文本框控件中输入的用户名。

源页的代码如下:

源页中的UserName公共属性的定义如下:

接着应该在目标页中添加@PreviousPageType指令:

此指令有两个属性,除了VirtualPath以外,还有一个名叫TypeName,这两个属性只要设置其中一个就可以了。

经过上面这些定义之后,就在目标页上通过类似下面的代码来访问源页的UserName公共属性了。

是不是相当的简单呢?这是@PreviousPageType指令相对于@Reference的一个优势。它自动就对Page.PreviousPage进行了强类型的转换。

二、@Reference

除了@PreviousPageType指令以外,另外一个可用的指令就是@Reference。
此指令同样是添加在目标页中,而不是源页中,可不要搞错了。
示例代码以@PreviousPageType的那个代码为基础进行修改。

首先删除目标页上的@PreviousPageType指令,然后添加@Reference指令。

只要做这些修改就可以了。最后就可以使用类似下面的代码在目标页中访问源页的公共属性了。

注意和@PreviousPageType指令做比较。这里对Page.PreviousPage进行了显示的类型转换,如果不这样做的话,将无法访问源页中的公共属性。而@PreviousPageType则不需要显示的类型转换。

原创粉丝点击