ASP.NET中页面之间的通信

来源:互联网 发布:java主要用途 编辑:程序博客网 时间:2024/05/02 04:29

子页与母版面间的通信

1、子页访问母版页的控件;

      法一:通过Master对象的方法FindControl方法查找控件,并转换相应控件,比如改变ID为Button1的按钮控件的文本,如下代码---

      (Master.FindControl("Button1") as Button).Text = "ddd";

      其中as Button完成转换。代码要在事件中完成,如Page_Load,按钮点击等事件。

页面与另一个页面间的通信

1、Session对象实现数据传递;

      Session存在于同一网站中,不同的页面都能够使用,建立不同页面间的连接。

      一般是通过.cs中的事件来操作;例如,实现A.aspx与B.aspx页面间的传递,

      A.aspx.cs中代码:

          protected void Page_Load(object sender, EventArgs e)//这里可能是其他事件,比如按钮事件等

                                     {

                                            Session["name"]="要传递的数据";

                                            Response.Redirect("B.aspx");//跳转到B页面

                                      }

       B.aspx.cs中的响应代码

             protected void Page_Load(object sender, EventArgs e)//这里可能是其他事件,比如按钮事件等

                                                 {

                                              try

                                                 {

                                                      var   des=Session["name"].Tostring();//这里可能转变为其他类型数据并传递给目标,目标可以是控件

                                                               Session.Remove("name");//使用后显式去除

                                                 }

                                              catch{}//这里一定要用try    catch组合,因为B页面不是由A页面跳转而是自己第一次载入时会提示“System.NullReferenceException: 未将对象引用设置到对象的实例”错误

                                     }

出现的一个问题:                 

也就是当两个子页引用同一个母版页,但是两个子页又不在同一个文件夹下时,这时母版页又引用其他外部文件时,就出现其中一个子页显示正常而另一个子页显示不正常的现象,解决办法就是让母版页引用外部文件时使用全路径,

原创粉丝点击