ASP.Net:如何打开第二个窗口并在主窗口中写一些东西?

时间:2009-11-04 17:47:05

标签: c# javascript asp.net

我想在按钮点击上打开一个窗口(最喜欢的是ImageButton)并在那里进行一些搜索。 搜索应该在网格视图中,并将信息直接返回到文本框中。

这怎么可能? (最好不要直接使用javascript)

2 个答案:

答案 0 :(得分:2)

客户端选项:

window.opener.document.getElementById("id").value = "whatever";

服务器端选项:

回发您打开的窗口,将数据保存到某个位置,以便其他页面可以检索,在其回发上发出javascript:window.opener.submit();self.close();,以使您的其他页面回发并打开窗口关闭。让代码隐藏检索所需的数据并更改TextBox。

答案 1 :(得分:0)

我会用javascript把它 对于图像按钮,在服务器端添加它

imgBtn.Attributes.Add("onclick","open_window()")

然后在容器页面中添加此Javascript函数

   function open_window()
     {
    var item = document.getElementById("txtShow");
     var dataitem = window.open("YourPage.aspx", "dataitem",
 "toolbar=no,menubar=no,scrollbars=yes"); 
     dataitem.item = item;

     }
在窗口中

添加select函数并在网格视图中创建自定义链接

   function select_item(name) {
        item.value = name;
        top.close();
    }

GridView的:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="rowID" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="Field" HeaderText="Test" />
            <asp:TemplateField>
                <ItemTemplate>
                    <a href="javascript:void(0)" onclick="select_item('<%#Eval("SelectText") %>')">Select</a>
                </ItemTemplate>
            </asp:TemplateField>
            </Columns>
        </asp:GridView>