2010-05-14 6 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', 'product' + productId + '..)을 사용하여 window.open('GridViewPage.aspx', 'Key' .. 코드를 변경하면됩니다.

이제 실제로 window.open에 key이라는 창을 사용하도록 말하고 있습니다. 그러면 모든 제품에 대해 동일한 창을 다시 사용할 수 있습니다.

2

window.open의 두 번째 매개 변수는 팝업 창의 name입니다. 예 : '키'

만들려는 각 팝업마다 변경하십시오.