Как открыть всплывающее окно в ASP.Net с элементом управления HyperLink, используя внешний файл javascript? - PullRequest
0 голосов
/ 13 июня 2009

Использование ASP.Net 2.0

а. На родительской странице ASPX после нажатия элемента управления HyperLink мне нужно открыть (дочернюю) страницу во всплывающем окне как модальную.

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

с. У меня есть код открытого окна javascript в файле javascript.js, который я загружаю так:

protected void Page_Load(object sender, EventArgs e)
{
  ClientScript.RegisterClientScriptInclude(this.GetType(), "manualequipentryscript", "javascript.js");
  lnkSearchProducts.Attributes.Add("onclick", "LaunchProductSearch();");
}

.. не работает ..

Как мне это реализовать?

(Я искал в интернете последние 2 часа и получил так много результатов, так как не смог найти ничего конкретного, что могло бы мне помочь.)

С уважением, Боб

1 Ответ

1 голос
/ 13 июня 2009

Первое, что нужно понять, это то, что браузеры, как правило, не допускают истинных модальных всплывающих окон (с заметным исключением IE). Браузеры на основе Mozilla позволяют вам указать, что окно будет оставаться впереди, но это нельзя считать модальным. Эта статья расширяет эту действительность.

Обычный обходной путь - это отображение модального диалога в DIV вместо другого окна.

Во-вторых, чтобы передать значения из всплывающего окна в родительское окно, вы можете использовать методы Javascript или код на стороне сервера. Первый метод будет включать сначала доступ к родительскому окну (используя свойство window.opener), а затем извлечение ссылок на элементы в этом родительском окне. См. эту статью для примера.

Метод на стороне сервера потребует, чтобы вы сохранили значения состояния, а затем принудительно обновили Javascript родительского окна (используя window.opener.location.reload();), чтобы разрешить загрузку этих значений.

Наконец, код, который вы представили, мне кажется правильным. Сообщите нам сообщение об ошибке, которое вы получите ... которое может дать подсказку.

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