Показать несколько новых окон - PullRequest
0 голосов
/ 14 мая 2010

Днем все.

У меня есть следующий сценарий:

У меня есть страница поиска, где клиент ищет продукт из выпадающего списка, при нажатии на кнопку создается сетка с отображением спецификации.

Мне бы хотелось, чтобы пользователь сделал свой выбор, и появится новое окно со спецификацией.

Итак, у меня есть простой код для страницы поиска:

 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);
        }

И страница 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>

Теперь, после первой итерации, это делает работу ... gridview, представленное в новом окне ... ура! т. е. пользователь ищет яйцо, спецификация яйца отображается в новом окне.

Однако я хотел бы, чтобы пользователь мог выполнить несколько поисков, чтобы открылось несколько новых окон. пользователь ищет яйцо один раз, спецификация возвращается в новом окне; Затем они хотят просмотреть спецификацию для курицы, поэтому они используют страницу поиска, чтобы найти указанную курицу, нажимают кнопку, и появляется другое новое окно, отображающее спецификации курицы.

Кто-нибудь знает, как мне этого добиться? Извиняюсь, если это простые вещи, я просто нахожусь в ногах.

Ответы [ 2 ]

2 голосов
/ 14 мая 2010

2-й параметр для window.open - это name вашего всплывающего окна. например "Ключ"

Измените его для каждого всплывающего окна, которое вы хотите создать.

2 голосов
/ 14 мая 2010

Просто измените код window.open('GridViewPage.aspx', 'Key' .. на уникальное имя окна для каждого продукта - например, window.open('GridViewPage.aspx', 'product' + productId + '...

Как и сейчас, вы фактически указываете window.open использовать окно с именем key, в результате чего оно повторно использует одно и то же окно для всех продуктов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...