A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨占伟 中级黑马   /  2012-12-3 13:09  /  1791 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

回发:
      ASP.NET页面作为代码在服务器端运行.因此,当用户在客户端对页面进行操作之后,
页面必须提交给服务器才能得到处理.页面发送到服务器,更确切地说,页面发送回其自身,
就被称为回发.
      在服务器控件中,某些事件(如Click事件)会导致页面被立即发送到服务器,并且事件被
触发,这类事件被称为回发事件.而服务器控件的有些事件(如Change事件)并不会导致页面
被立即发送到服务器,而是在页面下一次发送回服务器时被触发,这类事件称为非回发事件.
      有些服务器控件包含AutoPostBack属性,这表明用户可以控制是否产生回发.当设置
AutoPostBack属性为true时,控件事件会导致页面立即发送,产生回发;当设置AutoPostBack
属性为false时,控件事件并不会导致页面立即发送.
      由于存在回发,因此在某些情况下,而要区分页面是第一次被请求,还是回发.例如,页面
上有一个列表框,通常希望在页面第一次被请求时,动态填充列表框中的列表项,而在回发时
不在填充列表框.对于这种情况,解决方法是使用Page类的IsPostBack属性.当IsPostBask
属性值为false时,页面是第一次被请求.通常使用以下代码,区分页面是第一次被请求还是
回发.
      Protected void Page_Load(object sender,EventArgs e)
      {
            if( ! Page.IsPostBack )
            {
                 //第一次被请求
            }
            else
            {
                 //回发
            }
      }

跨页发送:
      
回发一般是回送给页面本身.若回送给另一个页面,则称作跨页发送.例如,利用多个页
面收集用户注册信息,在注册页面上需要获取多个页面的信息.在这种情况下,可以将页面
中的某些控件配置为发送至注册页面.在跨页发送中,发送的页面称为源页,发送的目的的
页面称为目标页.
      通过设置控件的PostBackUrl属性为发送的目标页,可以实现跨页发送.例如:
<asp:Button ID = "Ok" Runat = "server" Text = "Cross Page" PostBackurl = "Another.aspx"/>
其中Another.aspx就是目标页.
      在跨页发送中,通常需要从源页中获取信息.可以是获取源页上的控件信息,也可以是源
页的公共属性.
      Page类的PreviousPage属性提供了对源页的引用,利用它可以在目标页中获取对源页的
一个引用.有了源页的引用以后,就可以使用Page类的FindControl方法,获取源页上要访问的
控件.例如:
      TextBox firstname = (TextBox)PreviousPage.FindControl("FirstName");
   获取源页上名为FirstName的文本框.

评分

参与人数 1技术分 +1 收起 理由
古银平 + 1 神马都是浮云

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马