将值从弹出窗口传递到父窗体的TextBox

时间:2010-01-19 07:21:11

标签: asp.net

使用ASP.NET Visual Studio 2008 C#。我有一个页面。从这个页面我需要在弹出窗口上调用一个页面。在弹出页面上,将在父页面文本控件上设置选定值。

  
      
  1. 一个父页
  2.   
  3. 一个子页面。
  4.   
  5. 将父母称为子弹出。
  6.   
  7. 弹出窗口中包含网格。
  8.   
  9. 在弹出网格上有命令选择,单击选择关闭弹出窗口,选择的值将在父页面文本控件上设置。
  10.   

我已完成步骤1,2,3和4.但我需要完成第5步。

1 个答案:

答案 0 :(得分:9)

在父页面上:

<script type="text/javascript">
    function f1() {
        window.open("child.aspx");
    }
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><input type="button" onclick="f1();" value="pop up" />

在子页面上:

<script type="text/javascript">
function f2() {

    opener.document.getElementById("TextBox1").value = "hello world";
}
</script>
<input type="button" value="return hello world" onclick="f2();" />

此外,您可以将要从子页面填充的控件ID作为GET参数传递:

window.open("child.aspx?controlID=<%=TextBox1.ClientID %>");