Обновляйте вид MuliView каждые 5 секунд - PullRequest
0 голосов
/ 01 февраля 2011

в клиентской функции pageLoad () я пытаюсь получить активный многовидовой индекс и отправить обратно на мою панель обновлений через 5 секунд, только если активный индекс равен 2

следующий код:

<script type="text/javascript" language="JavaScript">
    function pageLoad() {
       if (document.getElementById('MultiViewManage').getAttribute("ActiveViewIndex") == 2) {
          window.setTimeout("__doPostBack('UpdatePanel1','')",5000);
       }
   } 
</script>

я получаю нулевое исключение или какую-то ошибку, что я делаю не так? спасибо

1 Ответ

1 голос
/ 01 февраля 2011

Чтобы автоматически обновить панель обновления через 5 секунд, если пользователь использует MultiView's ActiveViewIndex=2, используйте таймер ASP.Net в панели обновления, который запускает асинхронную обратную передачу каждые 5 секунд.Я вставил бы содержимое представления, которое должно быть обновлено, в отдельную панель обновления.

<asp:Timer ID="Timer1" OnTick="Timer1_Tick" runat="server" Interval="5000"></asp:Timer>
<asp:UpdatePanel ID="UpdPanelRefresh" UpdateMode="Conditional" runat="server">
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="Timer1" EventName="Tick" />
            </Triggers>
            <ContentTemplate>
.....

Затем обновил бы содержимое вашей панели обновления в обработчике событий Timer_Tick в codebehind.

Я бы вставилвсе представления в отдельных UpdatePanels, кроме внешней UpdatePanel.Если вы переключаете представление, вы должны активировать внешнюю панель обновления.Но отметка таймера вызовет внутреннюю панель обновления, которая принадлежит представлению с ActiveViewIndex 2

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