2013-03-22 5 views
0

У меня есть элемент управления со списком внутри панели обновления, подключенной к таймеру, который выполняет автозапуск с помощью scriptmanager в основной форме.Доступ к управлению дочерней страницей с помощью Javascript (asp.net)

Чтобы сохранить выбранный элемент во время обратной передачи, я использую нижеследующий javascript. Я исследовал это довольно тщательно и не верю, что есть другой способ сохранить выбранный элемент, выбранный между postbacks. Однако это решение работает очень хорошо.

Моя проблема заключается в том, что когда я добавляю второй элемент управления в основную форму, он не будет работать.

Я попытался переместить JavaScript в основную форму, однако я не могу получить доступ к дочерним элементам из основной формы с помощью:

document.getElementById('<%=PositionsControl.FindControl("ListBox_Candidates").ClientID %>').selectedIndex 

Я также попытался переименовать BeginRequestHandler и EndRequestHandler уникальных имен (чтобы избежать конфликтов когда этот скрипт находится на обоих элементах управления), и это не сработает.

Любая помощь очень ценится.

<script type="text/javascript"> 
    var index 
    var prm = Sys.WebForms.PageRequestManager.getInstance(); 
    prm.add_beginRequest(BeginRequestHandler); 
    prm.add_endRequest(EndRequestHandler); 

    function BeginRequestHandler(sender, args) { 
     index = document.getElementById('<%=ListBox_Candidates.ClientID %>').selectedIndex; 
    } 

    function EndRequestHandler(sender, args) { 
     $get('<%=ListBox_Candidates.ClientID %>').selectedIndex = index; 
    } 
</script> 

ответ

0

Закончен, не используя Microsoft Ajax и вместо этого вызывая веб-методы из jquery!

0

Вы можете попробовать добавить собственность в код, который будет возвращать требуемое вам значение. Затем, на стороне клиента, просто привяжите это свойство.

+0

Извините, я не понимаю, можете ли вы объяснить, что вы имеете в виду, то есть какое свойство? – Jamesla

+0

В коде behaind (C#?) Добавить свойство, которое выведет нужное значение (selectedIndex). В javascript свяжите его значение с информацией о контроле. Как <÷ = MyServerProperty ÷> – evgenyl

+0

В настоящее время элемент управления привязан правильно. Нет проблем с привязкой элемента управления. Проблема возникает, когда у меня есть 2 из этих скриптов на одной странице (регистрация 2 обработчиков событий beginRequest). – Jamesla

Смежные вопросы