从一个页面向另一个页面传值的方法有很多,一般常用的有get,post,form等方法,但是.NET2.0 给我们提供了新的方法。用传值的方法一般对于数目比较少的传值方法。但如果把整个页面的所有控件的值传到另一张页面上去,会很繁琐。这里介绍两种新的方法。
方法一:使用.Net的PreviousPage属性,在Page1里面添加一个Button,使用该button的postbackurl属性指向目的页面Page2,在Page2里面直接使用PreviousPage.FindControl()方法便可以找到对应Page1页面的控件了。
方法二:使用面向对象的原理。利用Page1本来就是一个类,所以在Page1的类里面建立各个控件的属性,比如Page1里面有一个名为txtInput的TextBox,那么在Page1的类里面添加一个返回TextBox的属性:
public TextBox TextInput{
Get{return txtInput;}
}
这样在page2里面就可以调用Page1的TextInput属性来得到txtInput这个TextBox了。在调用之前要在Page2的HTML里面加入<%@ page PreviousPageType VirtualPath="Page1"%>就可以了。使用PreviousPage.TextInput.Text便可以得到Page1中txtInput的值了。