Как вернуть значение из всплывающего окна - PullRequest
2 голосов
/ 10 апреля 2009

Я использую asp.net webforms 2.0, c #.

Мне нужен простой, элегантный способ сделать следующее:

Пользователь щелкает элемент в веб-форме A; Webform B выскакивает; Пользователь взаимодействует с веб-формой B; При закрытии веб-формы B, возможно, с помощью кнопки отправки, элемент источника в веб-форме a a обновляется значением из веб-формы B.

Какие технологии будут задействованы здесь? Помимо Javascript и C #, конечно. Могу ли я сделать это без Ajax?

РЕДАКТИРОВАНИЕ:

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

Ответы [ 3 ]

1 голос
/ 10 апреля 2009

Если вы используете ASP.NET 2.0, вы можете отправить вторую страницу обратно на первую, а затем обнаружить ее с помощью IsCrossPagePostBack.

1 голос
/ 10 апреля 2009

Вы можете использовать JavaScript:

<script language="javascript">
window.opener.location.reload();
self.close();
</script>

Приведенный выше код показывает, как закрыть окно «opener», но он должен дать вам общее представление. (Этот код находится во всплывающем окне). Вы можете использовать тот же метод для передачи значений в окно 'opener', вызвав внутри него функцию JavaScript.

<script language="javascript">
window.opener.functionA('ABC123');    
</script>

Если вы хотите передать переменную из ASP в функцию JavaScript, используйте:

window.opener.functionA('<%=userId%>');

или

var userId = '<%=userId%>';
window.opener.functionA( userId );

Надеюсь, это поможет!

0 голосов
/ 10 апреля 2009

</p> function webFormAClick(){ var theReturnValue = window.showModalDialog("webFormB.html", myArguments, ''); } <p>

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