日期:2014-01-24  浏览次数:20445 次


模式窗口是一种方便的当前页面扩展的方式,但是aspx文件只能作为HTM文件的IFRAME才能用这种方式调用。同时,请求字符串也是一种方便常用的页面间传值的方法,那么怎么样使两者给合起来,就是实现如何用请求字符串传值给用模式窗口打开的aspx页面呢?

我们可以用JS脚本实现这种功能:

1.调用页面代码:

<script language="javascript">
   function GetCorrelativeItemId()
   {
    rdl = document.getElementsByName("rdlSystem");
    
    input = document.getElementById("txtCorrelativeItem");
    sysid = "";
    for(i = 0 ; i < rdl.length ; i++)
    {
     if(rdl[i].tagName == "INPUT")
     {
      if(rdl[i].checked)
      {
       sysid = rdl[i].value;
     }
    }
   }
   
    arg = window.showModalDialog("SearchItemC.htm?sysid="+sysid,window,"resizable:1;");
    if(arg!=null)
    {
     input.value = arg;
    }        
   }
  </script>



2.打开的HTM文件的代码(SearchItemC.htm):

 <HTML>
 <HEAD>
  <script language="javascript">
  function ResolveUrl()
  {
   var frm = window.frames[0];
   frm.location = location.toString().replace("C.htm","C.aspx");
  }
  </script>
 </HEAD>
 <BODY style="margintop:0;marginleft:0;marginright:0;marginbottom:0" >
  <table align="left" cellpadding="0" cellspacing="0" width="100%" height="100%" ID="Table1">
   <tr>
    <td valign="top" width="100%" height="100%"><iframe id="ifmain" border="0" width="100%" height="100%"></iframe></td>
   </tr>
  </table>
 </BODY>
</HTML>

3.Aspx文件(SearchItemC.aspx)代码:

Request.QueryString["sysid"].Trim();