ASP.NET
关于页面取值
.aspx文件(当前页)向两一个.aspx文件(目标页)传值时,目标页面通过Page.PreviousPage.FindControl("当前页控件ID")返回控件基类需要转换为控件对象,取当前页的控件对象,这就是跨页传递
IsPostBack
获取一个值,该值指示该页是否正为响应客户端回发而加载,或者它是否正被首次加载和访问。
如果是为响应客户端回发而加载该页,则为 true;否则为 false。
跨页传送时是true,它响应客户端回发
!Ispostback判断是否首次加载
IsCrossPagePostBack
获取一个值,该值指示跨页回发中是否涉及该页。
如果该页参与跨页请求,则为 true;否则为 false。
跨页传送时是true
目标页用这个PreviousPage.IsCrossPagePostBack判断是否跨页传送
关于跳转
在实现页面跳转的时候,有些人喜欢用Response.Redirect,而有些人则喜欢用Server.Transfer。大部分时间似乎这两种方法都可以实现相同的功能,那究竟有区别吗?
查了些文档,发现两者区别还是很明显的。根本上,Response是叫浏览器去重新转向到指定的网页,而Server自然是发生在服务器端为主了,因此会有以下区别:
1. Server.Transfer只能够转跳到本地虚拟目录指定的页面,而Response.Redirect则十分灵活;
2. Server.Transfer可以将页面参数方便传递到指定页面;
3. 使用时,Server.Transfer跳到别的页面后,浏览器显示的地址不会改变,有时反而会造成误会,当然也有些场合需要这样的效果;
4. Server.Transfer可以减少客户端对服务器的请求;
主要是客户端与服务端跳转的区别