我写了一个类。
该类中有一个按钮,该按钮的功能是单击以后给一个页面传值并打开该页面在打开的页面上显示按钮传送过来的值。当第一次单击该按钮的时候运行是正确的。在该页面没有关闭的情况下第二次单击的时候就会出现错误!第二次传送的值不会在页面上显示出来!
因为我修改显示的值的操作是在 Page_Load()中完成的。我要怎么才能实现页面的重载!再运行一次Page_Load()??????????

解决方案 »

  1.   

    在你按按钮的时候是要先执行page_load的,执行完之后才执行你按钮事件里的代码,可能是你page_load之后改变了某些属性,
      

  2.   

    点击按钮post时,是要先执行page_load的,然后再执行按钮事件,你可以调试一下的page_load中if(!Page.IsPostBack)
    {
    ....//post时不会执行
    }
      

  3.   

    可以用***.aspx?id={0}传值
    也可以用Session["name"]=***传值呀
    不用那么复杂吧
      

  4.   

    我用的就是Session,请看清楚问题!谢谢
      

  5.   

    你在当前页面下的button_click事件也会引发page_load事件的,而且是先执行page_load事件再执行button_click事件,
    你把你报的错误说一下
      

  6.   

    好多兄弟都不明白我所表达的意思?我的表达能力?:<  ...........
    还是把代码贴出来好了Class.cs
    public class MailBox:HtmlTable
    {
       LinkButton SenderBox=new LinkButton();
       
       Public MailBox()
       {
          SenderBox.Click+=new System.EventHandler(SenderBox_click);
       }
       
       private void SenderBox_click(object sender, System.EventArgs e)
       {
          Page.Session.Add("IDStr",MyID)  //MyID为MailBox的一个属性。
          Page.Response.Write("window.open ('SenderInfo.aspx'))
       }SenderInfo.aspx.csprivate void Page_Load(object sender, System.EventArgs e)
    {
       IDTextBox.Text=Session["IDStr"];
    }
      

  7.   

    To: jyu_730(阿宇) 运行起来没有提示错误,只是没有达到我的需求而已。
      

  8.   

    搂主的代码测试了一下,是完全可以的,除了这里有一点笔误Page.Response.Write("<script>window.open ('SenderInfo.aspx')</script>")那么问题就可能不在SenderInfo.aspx.cs的Page_Load可以自己跟踪调试一下,在
    Page.Session.Add("IDStr",MyID)  设个断点看看当时MyID的值另外也可能是ie设置的问题 工具-〉internet选项-〉常规-〉internet临时文件-〉设置-〉检查较新版本“自动”,检查一下
      

  9.   

    呵呵高手就是高手,我再QQ里面问到了,在子窗口得Page_load()里面添加一行:
    this.Response.Expires = -1; 就解决问题了。谢谢各位了
      

  10.   

    我觉得你的代码还有个问题
    Page.Session.Add("IDStr",MyID) 
    同一个session只能add一次,下一次访问应该用Session["IDStr"],
    你将它放在按钮事件里,是不是有问题啊,每次点击按钮都会添加session,这样不会出错才怪!