powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Две страницы. Может ли вторая отреагировать на событие в контроле первой?
8 сообщений из 8, страница 1 из 1
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38238863
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня.

Есть frameset из 2 страниц.
На первой странице есть DropDownList. После того как выбрали элемент списка, ряд элементов на второй странице должны сменить значения в зависимости от выбранного элемента списка.

Вопрос: можно ли как-то реагировать на второй странице при возникновении SelectedIndexChanged на первой странице, или просто при SelectedIndexChanged каждый раз переоткрывать вторую страницу с нужными данными?

Спасибо.
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38238868
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38238912
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганель
Спасибо. Правда с JS у меня пока еще менее понятнее )))

Рискну предположить, что во второй странице надо сделать setTimeout в котором руководствуясь Вашими ссылка вытаскивать значение контрола с первой страницы и если оно изменилось - обновлять страницу?
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38238946
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет
при изменении искать парента
от него искать нужный фрейм
в нем дернуть JS-функцию по "смене значений в зависимости..."
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38242320
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельнет
при изменении искать парента
от него искать нужный фрейм
в нем дернуть JS-функцию по "смене значений в зависимости..."

Ок, а можно из него дернуть C#-функцию?
Я могу, например, щелкнуть по кнопочке:

Код: c#
1.
2.
3.
4.
5.
6.
7.
string script = @"var frames = window.parent.frames;" +
                " for (var i = 0; i < frames.length; i++) " +
                " {"+
                "    if (frames[i].document.getElementById('SearchButton') != null)" +
                "       frames[i].document.getElementById('SearchButton').click();" +
                ";}";
Page.ClientScript.RegisterStartupScript(GetType(), "Message", script, true);



но кнопочка эта мне там совсем ни к чему, а по невидимой кнопочке не кликается...
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38242504
carrotik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_nautilus_,

.. зарегистрируйте в целевом фрейме HiddenField и джава-скриптом передайте в него значение SelectedIndex раскрыівающегося списка, и там же что-то типа
Код: javascript
1.
document.forms['myform'].submit
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38242623
_nautilus_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
carrotik,

Да, спасибо, скрытое поле не видно и оно дергается нормально:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
string script = @"var frames = window.parent.frames;" +
                " for (var i = 0; i < frames.length; i++) " +
                " {"+
                "    if (frames[i].document.getElementById('SearchHiddenField') != null)" +
                "    {" +
                "       frames[i].document.getElementById('SearchHiddenField').value='1';" +
                "       frames[i].document.forms['SearchForm'].submit();" +
                "    }" +
                ";}";
Page.ClientScript.RegisterStartupScript(GetType(), "Message", script, true);



Передавать SelectedIndex мне не нужно, т.к. оно еще в исходном фрейме сохраняется в сессию.

Вообще я пробовал делать так, чтобы дергать C#-метод без посредников:

В целевом:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public static string Test(string objectValue)
{
    if (objectValue == "CalledMethod")
        return "Object Value Is True";
    else
        return "Object Value Is False";
}



В исходном:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
string script = @"var frames = window.parent.frames;" +
             " for (var i = 0; i < frames.length; i++) " +
             " {"+
             "    if (frames[i].document.getElementById('SearchHiddenField') != null)" +
             "    {" +
             "       function callCMethod()" +
             "       {" +
             "           var result = PageMethods.Test('0', OnRequestComplete, OnError);" +
             "           return result;" +
             "       }" +
             "       function OnRequestComplete(result) {alert('1');}" +
             "       function OnError(result) {alert('2');}" +
             "    }" +
             ";}";             
         
Page.ClientScript.RegisterStartupScript(GetType(), "Message", script, true);



Но не работает, к сожалению...
...
Рейтинг: 0 / 0
Две страницы. Может ли вторая отреагировать на событие в контроле первой?
    #38242751
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы это... перед тем как писать на JS, почитайте, пожалуйста, про синтаксис этого языка программирования
Что, по-Вашему, означает строка
function callCMethod()
и почему она внутри if находится?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Две страницы. Может ли вторая отреагировать на событие в контроле первой?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]