Discuz!NT
欢迎 游客 , 注册 | 登录 | 会员 | 界面 | 简洁版本 | 在线 | 帮助
商都网教育宝典宝库

发表新主题 回复该主题
本主题被查看683次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第   上一主题   下一主题
标题: 返回前页数据的方法
张小峰
超级版主
UID: 14
来自:
精华: 4
积分: 313
帖子: 285
注册: 2007-8-23 10:27:00
状态: 离线
威望: 8.00
金钱: 75.55 元
只看楼主 2007-08-24 11:51
返回前页数据的方法
当发送到一个不同的页面时,典型的要求是可访问前页的控件和对象。你可能在会话状态中隐藏跨页
数据,然而,这样会消耗服务器的资源,应当慎重使用大对象。
  Page类的PreviousPage属性为前页的对象提供了引用。有两种方法可以从Page类的引用中获取数据,

使用哪种方法依赖于Page对象是否是强类型化。通常情况下,默认从PreviousPage属性返回的Page对象并
不是强类型的对象。
  以下Default.aspx是首页面,TargetPage.aspx是目标页面。
一.把PreviousPage返回的Page对象强类型化。首先创建一个控件类型的公共只读属性,如:
        [color=#0000ff]public DropDownList FavoriteActivity
        {
          get { return ddl; }    //ddl是某个DropDownList控件
        }
    在TargetPage.aspx添加如下指令:<%@ PreviousPageType VirtualPath="~/Default.aspx" %>
    在TargetPage.aspx.cs的Page_Load写入以下代码:
    if (Page.PreviousPage != null)
        {
            lblActivity.Text = PreviousPage.FavoriteActivity.SelectedItem.ToString();
        }
二.迟绑定(late-binding)技术:
  在TargetPage.aspx.cs的Page_Load写入以下代码:
if (Page.PreviousPage != null)
        {
            DropDownList ddl1 = (DropDownList)Page.PreviousPage.FindControl("ddl");
            if (ddl1 != null)
                lblActivity.Text = ddl1.SelectedItem.ToString() + "(Late-Bound)";
        }
迟绑定使性能下降,应该尽可能避免使用。[/color]


#1  
发表新主题 回复该主题
本主题被查看683次, 共1个帖子, 1页, 当前为第1页     选择页数: 1      跳转到第







现在的时间是 2008-10-07 18:39:53

版权所有 商都网教育宝典
         Powered by Discuz!NT 1.0.6666    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.128 seconds