2015-10-01 2 views
0

Asp.Net 4.5 (WebForms)Исключить Div в updatepanel Asp.Net

Как я могу исключить контейнер div из async postback? Контейнер представляет webgl. Я попытался добавить его к триггерам, как это было предложено в других поисках, но я получаю сообщение об ошибке.

Ошибка

  • управления с идентификатором 'контейнера' регистрируемого через RegisterAsyncPostBackControl ...

Примечание

  • Если переместить контейнер за пределами UpdatePanel то он работает, однако тогда было бы неправильно.

Пример

<div id="main" class="main"> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
      <ContentTemplate> 

       <div> 
        <div> 
         more controls ... 
        </div> 
       </div> 

       <div id="container" class="container" runat="server"></div> 

       <div> 
        more controls ... 
       </div> 

       </ContentTemplate> 
      <Triggers> 
       <asp:PostBackTrigger ControlID="container" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </div> 
+1

Почему вы не используете 2 отдельные панели обновления для * div * s выше и ниже * container * div? – niksofteng

+0

@vnikhil Хороший вопрос. Это случается, чтобы быть вложенными в другие обновления. Я просто оставил весь этот беспорядок из примера. В противном случае я бы определенно использовал две отдельные панели обновления. – TroyS

+1

Я думаю, что вы найдете одно из ограничений UpdatePanel. Возможно, было бы лучше отказаться от UpdatePanel и вместо этого пойти с кодовыми вызовами AJAX (возможно, используя вспомогательную библиотеку, такую ​​как jQuery) на вашу серверную сторону? Результат часто легче понять и отладить, а это приводит к меньшему использованию полосы пропускания и меньшей нагрузке на сервер. – mason

ответ

0

Для краткосрочного решения я отделяю все UpdatePanels течь вокруг DIV удаления его из постбэк асинхронного, которые действительно работают. Это было предложено vnikhil.

Для долгосрочного решения я бы рассмотрел предложение масона из опубликованных комментариев.

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