从A_IFrame里更改B_IFrame的页面,现在需要把A_IFrame里的值传给B_IFrame里的页面并在这个页面Page_Load时执行方法,执行方法需要这个传入的值。
问题:加载B_IFrame里的页面时先执行了Page_Load里的方法而后JS才把取的值赋给隐藏控件。
前提:A_IFrame中都是JS完成,无法将传入的值放如到静态变量或者SESSION之类中去。

解决方案 »

  1.   

    在HTML<head>前加调用.js的语句就ok
      

  2.   

    <HTML>
    <HEAD>
    <title>WebForm1</title>
    <meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
    <meta content="C#" name="CODE_LANGUAGE">
    <meta content="JavaScript" name="vs_defaultClientScript">
    <meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
    <script language="javascript">
            <!--
                 function delete_confirm(e) {
             if (event.srcElement.outerText == "删除")
             event.returnValue =confirm("确认要删除?");
                 }
                 document.onclick=delete_confirm;
            -->
    </script>
    </HEAD>
      

  3.   

    回rononwang()
    是要赋值给B_IFrame里的隐藏控件,如果在HEAD里就调用JS方法,隐藏控件还没有被加载出来。
      

  4.   

    好象说的太多了,表述不清楚了。简单的说就是:
    A页面的Page_Load需要用的隐藏控件的值,而隐藏控件的值是在加载A页面时才赋给的,如何在Page_load之前完成JS里的这个赋值给隐藏控件的操作。
      

  5.   

    回楼主:在Page_Load之前执行js,这是不可能的。是否可以考虑用QueryString传递需要的参数,根据参数给你的隐藏控件赋值?
      

  6.   

    Page_Init()方法在Page_Load()之前运行,也在一切事件处理程序之前运行.
    你定义个Page_Init()方法,把隐藏控件的值在Page_Init()中就赋了.
      

  7.   

    如你所说,估计在Page_Load之前执行js是不太可能,我也没找到方法。
    Page_Init()是会在Page_Load()前运行,不过我是要在JS里给隐藏控件赋值。后台代码里无法取到其他IFrame页面中的JS值。
    谢谢各位啦,希望还有更好的方法。
      

  8.   

    你可以去研究一下页面的生命周期,或用ajax.net来做...
      

  9.   

    用用Response.Redirect 用URL 来 传递你要的变量值 B页面用Request来接 !
    try!