想在父文件a.aspx的datagrid中传递参数,使用showModalDialog(),在子页面b.aspx中根据传过来的参数从数据库读取后显示详细信息,在子页面却无法使用window.close()" 关闭,返回a.aspx页。我看过孟子e章的例子,其中使用了含frame的过渡页面,可可否不使用过度页,因为使用过度页无法从a.asp页经过过度页再传给b.aspx。
代码如下:
a.aspx中:
<asp:datagrid id="DataGrid1" >
<Columns>
<asp:HyperLinkColumn DataNavigateUrlField="employeeID"      DataNavigateUrlFormatString="javascript:varwin=window.showModalDialog('b.aspx?ID={0}');"DataTextField="employeeID" HeaderText="员工编号"></asp:HyperLinkColumn>
</Columns>
</asp:datagrid>b.aspx中:
            Dim strScript As String = "<script>" + vbCrLf
            strScript += "window.close()" + vbCrLf
            strScript += "</script>" + vbCrLf
            If (Not IsClientScriptBlockRegistered("clientScript")) Then
                RegisterClientScriptBlock("clientScript", strScript)
            End If
请指教

解决方案 »

  1.   

    http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=736
      

  2.   

    var win=window.showModalDialog('b.aspx',参数);
      

  3.   

    子页面取得参数
    MyBody.Attributes.Add("onload", "document.Form1.TextBox1.value=window.parent.dialogArguments;document.Form1.submit();")
      

  4.   

    '关闭窗体
            Dim strScript As String = "<script>" + vbCrLf
            strScript += "window.parent.close();" + vbCrLf
            strScript += "</script>" + vbCrLf
            RegisterStartupScript("clientScript", strScript)
      

  5.   

    /*****你HEAD标记里面加入以下代码
    <base target="_self">