2010-05-14 128 views
0

全部下午。显示多个新窗口

我有以下情形:

我在那里通过从下拉列表中选择产品客户端的搜索,在点击一个按钮,一个gridview产生显示规范中的一个搜索页面。

我想要的是用户进行选择的功能,并随规范弹出一个新窗口。在第一

<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" 
     DataSourceID="LinqDataSource1"> 
     <Columns> 
      <asp:BoundField DataField="Product" HeaderText="Product" 
       SortExpression="Product" /> 
      <asp:BoundField DataField="Spec" HeaderText="Spec" 
       SortExpression="Spec" /> 

     </Columns> 
    </asp:GridView> 

    <asp:LinqDataSource ID="LinqDataSource1" runat="server" 
     ContextTypeName="GridViewInNewWindow.ProductDataContext" EntityTypeName="" 
     TableName="tblProducts" Where="Product == @Product"> 
     <WhereParameters> 
      <asp:SessionParameter Name="Product" SessionField="Product" 
       Type="String" /> 
     </WhereParameters> 
    </asp:LinqDataSource> 

现在:

所以,我对于搜索页面背后一个简单的代码:

protected void Button1_Click(object sender, EventArgs e) 
     { 
      Session["Product"] = DropDownList1.SelectedValue; 

      string strScript = "window.open('GridViewPage.aspx', 'Key', 'height=500,width=800,toolbar=no,menubar=no,scrollbars=yes,resizable=yes,titlebar=no');"; 

      ScriptManager.RegisterStartupScript(this, typeof(string), "", strScript, true); 
     } 

,也是一种基于搜索页面创建的会话的数据gridviewpage迭代,这个工作... gridview在新窗口中展示...欢呼!即用户搜索鸡蛋,鸡蛋的规格会显示在新窗口中。

但是,我想要发生的是用户可以进行多次搜索,因此打开了许多新窗口。即用户搜索蛋一次,规范返回到新窗口;然后他们希望看到鸡的规格,所以他们使用搜索页面来查找所述鸡,点击按钮,并且显示另一个新窗口显示鸡的规格。

有谁知道我该如何做到这一点?道歉,如果这是简单的东西,我只是找到我的脚。

回答

2

只需将您的window.open('GridViewPage.aspx', 'Key' ..代码更改为使用每个产品的唯一窗口名称,例如window.open('GridViewPage.aspx', 'product' + productId + '..

因为现在您实际上是在告诉window.open使用名为key的窗口,从而导致它为所有产品重新使用相同的窗口。

2

window.open的第二个参数是弹出窗口中的name。例如“Key”

更改您想要创建的每个弹出窗口。