2010-05-14 155 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」

更改您想要創建的每個彈出窗口。