2013-06-22 3 views
1

У меня есть LiteralText, который меняет данные, когда я нажимаю мой элемент управления. Я прочитал несколько руководств, и если я обновляю LiteralText в UpdatePanel, он должен делать только частичное обновление, но он обновляет всю страницу.__PostBack и updatePanel делает полное обновление страницы

Я также прочитал еще одно руководство, в котором говорится об изменении моего __doPostBack к идентификатору клиента, но он тоже не работает.

Так вот мой ASPX код сторона:

<div id="modalbox" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" 
    aria-hidden="true"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional"> 
     <ContentTemplate> 
      //Some Codes 
        <asp:Literal ID="modalTitle" runat="server"></asp:Literal> 
      //More Codes 
     </ContentTemplate> 
    </asp:UpdatePanel> 

Мой код doPostBack:

 <script type="text/javascript"> 
      function changeModalTitle(eventTarget, parameter) { 
       __doPostBack('<%=modalboxStaff.ClientID%>;', parameter) 
      } 
     </script> 

И код, который вызывает как коды:

<a href='#modalbox' data-toggle='modal' runat="server" id="modalboxStaff" **onclick="javascript:changeModalTitle('AddStaff', 'Sup World')**"> 

ответ

1

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

Может ли это быть проблемой?

использовать __doPostBack для запуска частичной обратной передачи - вам нужно будет ссылаться на идентификатор обновленной панели в вызове __doPostBack, например.

__doPostBack('btnInsideUpdatePanel', ''); 

Следует отметить, что первым аргументом является идентификатор, а не идентификатор пользователя. Если используется идентификатор clientID, вы не получите правильную обработку событий при обратной передаче. Проверьте answer на этом форуме

Эта статья дает подробности

http://encosia.com/easily-refresh-an-updatepanel-using-javascript/

Любая помощь?

EDIT

Я хотел бы рассмотреть вопрос об изменении якорь в кнопку Link. Элемент управления anchor html не будет поднимать события страницы так же, как кнопка ссылки (хотя я считаю, что то, что вы сделали, может вызвать частичную обратную передачу, чтобы быть справедливым).

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

http://weblogs.asp.net/jeffreyzhao/archive/2008/04/26/refresh-the-updatepanel-using-javascript-code.aspx

Приветствия

+1

Я получаю нервный тик, когда я должен поддерживать код который имеет элементы управления UpdatePanel. Неизменно люди видят, как «легко» использовать их и накладывать слишком много на страницу. –

+1

они полностью злоупотребляют. Я видел ужасное использование - множественное гнездование, обертывание огромного количества контента и т. Д. Но для некоторых вещей они полезны. Просто нужно использовать только для хорошего и никогда не злого. –

+0

звучит великолепно, я попробую и вернусь к вам. –