今天晚上没事在办公室看看ASP.NET2.0高级编程(特别版),看到跨页传送的时候就顺便动手练习一下。并且顺带着发现了作者在这的一个错误。P75页关于判断页面是否是跨页面传送的时候少加了一个条件,PreviousPage!=null。如果没有这个条件的话,处理普通的页面就会出现空引用的异常。
跨页面传送是ASP.NET2.0引进的一个新特性。可以将A页面的值传给第二个页面,而不是传统的只提交给A页面自己。 假设目前有两个页面A和B,要想让B页面获取到A页面的值,需要在B页面上的设置<%@ PreviousPageType VirtualPath="~/Default.aspx" %>,如图:
同时将A页面要传递的值写一个属性,B页面可以通过属性来访问A页面传递的值。这里是将一个文本框的值传递过去。同时在A页面上放一个按钮,设置按钮的postbackurl属性为B页面的URL,代码如下:





















在B页面,这在判断页面是否是跨页面传送的时候要上PreviousPage是否为空,要不正常的页面传送过去就会出现空引用的异常,ASP.NET高级编程的示例代码中就没有判断,会出错。





















