IMHO.WS

IMHO.WS (https://www.imho.ws/index.php)
-   Веб-программирование (https://www.imho.ws/forumdisplay.php?f=29)
-   -   эвенты в фреймах (https://www.imho.ws/showthread.php?t=109103)

inTim 02.10.2006 23:53

эвенты в фреймах
 
Веб документ состоит из нескольких фреймов. При эвенте в одном из них, в другом должен работать определенный серверный код (функция на C#).
Каким образом можно это организовать? :idontnow:
Или же как в C# из функции в первом фрейме вызвать функцию второго?

Псих 03.10.2006 10:56

inTim
DOM - parent.frames["FRAMENAME"].

inTim 03.10.2006 12:36

Цитата:

Сообщение от Псих
inTim
DOM - parent.frames["FRAMENAME"].

этот скрипт будет выполняться на клиентской машине, а необходимо, чтобы выполнялся серверный и результат выдавал на эту страницу.
JS позволяет обновить страницу, но она грузится изначальная как при первой загрузке.

EvroStandart 04.10.2006 12:59

Передавай на страницу параметры и соответственно этим параметрам запускай свои функции.

EvroStandart 05.10.2006 14:20

Попробовал я чтото напрограммировать. Ну мелкомягкие и напридумывали!

В общем так.
1) Создал новый проект ASP Web Application.
2) Влепил два текстовых поля и кнопку.
3) В нажатие кнопки прописал
int numb1 = int.Parse( tbNumber1.Text );
int numb2 = int.Parse( tbNumber2.Text );
lblResponce.Text = (numb1+numb2).ToString();
чисто чтобы проверить что всё работает.
4) Переключился на хтмл код и исправил у формы post на get.
<form id="Form1" method="get" runat="server">
5) Запустил программу и в открывшемся эксплорере ввёл номера 3 и 4. Нажал кнопку.
6) Программа сработала и в броузере прописалось
http://localhost/WebTest/WebForm1.as...=3&tbNumber2=4
7) Закрыл эксплорер. Открыл файрфокс и вставил этот адрес. Всё нормально. Нажатие на кнопку сработало, сумма вычислилась и прописалась.

Пробуй ;)

=======================================


Поискал инфу по ASP и нашёл красивое решение.
В файле WebForm1.aspx изменяю функцию Page_Load():

if ( Request.QueryString["value"] != null )
{
int x = int.Parse( Request.QueryString["value"] );
}

Дальше можно ещё что-то вызывать в зависимости от х.

У меня работает с таким адресом:
http://localhost/WebTest/WebForm1.aspx?value=3

:claps:

inTim 24.10.2006 12:12

2 EvroStandart
Спасибо, работает и передает. =)

Теперь возник другой вопрос...
В стартовой странице написал такой фреймсет:
<frame id="Fr1" src="http://х.х.х.х/prog/Webform1.aspx" noResize scrolling="no">
<frame id="Fr2" src="http://localhost/de_list/Webform1.aspx" noResize scrolling="no">
Первый фрейм грузится с другого компа, второй находится на текущем.
Из второго фрейма вызывается скрипт, который проходит все фреймы и из элементов с заданным ID выбирает значения. Когда все фреймы были на одном компе, все работало нормально. Но при выполнении в таком виде выскакивает ошибка: "Error: Отказано в доступе." И ссылается на эту строчку в скрипте:
window.parent.frames.item(i).document.getElementById("sel")
Что вызывает эту оибку и как ее избежать?

EvroStandart 24.10.2006 12:45

Не хочет работать с элементами документа другого сервера.
Даже незнаю. Может нужно копать в сторону DOM.

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


Часовой пояс GMT +4, время: 14:28.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.