2013-05-16 3 views
0

У меня есть ретранслятор, который я включил в панель обновления, и у меня есть кнопки и выпадающий список вне ретранслятора. Я не хочу, чтобы страница загружалась каждый раз, когда я нажимаю кнопку или что-то изменяю в раскрывающемся списке. У меня есть код ниже. У меня есть две проблемы с этим, которые я не могу решить:панель обновления asp.net не запускается

1) Элемент управления переходит к событию Page_Load, даже если я использую панель обновления и триггеры (btn15MIN_Click), поэтому, я думаю, есть что-то, что я делая неправильные во время написания кода панели обновления.

2) Для изменения ретранслятора требуется много времени после изменения значения выпадающего списка.

<div class="MainGrid"> 
     <asp:Timer ID="RefreshTimer" runat="server" OnTick="RefreshTimer_Tick" Enabled="True"> 
     </asp:Timer> 
     <div> 
      <table width="100%" cellpadding="5"> 
       <tr> 
        <td> 
         <div> 
          <asp:Label ID="lblEndDate" runat="server" Text="LastUpdatedDate:" Font-Bold="true" 
           CssClass="label" ForeColor="Black"></asp:Label> 
          <asp:Label ID="lblEndDateText" runat="server" CssClass="label" ForeColor="Black"></asp:Label> 
         </div> 
         <div> 
          <asp:Label ID="lblRefresh" runat="server" Text="Refresh Interval:" CssClass="label" 
           ForeColor="Black"></asp:Label>&nbsp&nbsp&nbsp 
          <asp:LinkButton ID="btn15MIN" runat="server" OnClick="btn15MIN_Click" Text="15MIN"> 
          </asp:LinkButton>&nbsp 
          <asp:LinkButton ID="btn10MIN" runat="server" OnClick="btn10MIN_Click" Text="10MIN"> 
          </asp:LinkButton>&nbsp 
          <asp:LinkButton ID="btn5MIN" runat="server" OnClick="btn5MIN_Click" Text="5MIN"> 
          </asp:LinkButton>&nbsp 
          <asp:LinkButton ID="btn60SEC" runat="server" OnClick="btn60SEC_Click" Text="60SEC"> 
          </asp:LinkButton>&nbsp 
          <asp:LinkButton ID="btn30SEC" runat="server" OnClick="btn30SEC_Click" Text="30SEC"> 
          </asp:LinkButton>&nbsp 
          <asp:LinkButton ID="btnOFF" runat="server" OnClick="btnOFF_Click" Text="btnOFF"> 
          </asp:LinkButton> 
         </div> 
         <asp:Panel ID="Panel2" runat="server"> 
          <asp:Label ID="lblResultsDuration" runat="server" CssClass="label" ForeColor="Black">View Results since the last </asp:Label> 
          <asp:DropDownList ID="ddlDuration" OnSelectedIndexChanged="ddlDuration_SelectedIndexChanged" 
           runat="server"> 
           <asp:ListItem Text="2" Value="2"></asp:ListItem> 
           <asp:ListItem Text="4" Value="4"></asp:ListItem> 
           <asp:ListItem Text="6" Value="6"></asp:ListItem> 
           <asp:ListItem Text="8" Value="8"></asp:ListItem> 
           <asp:ListItem Text="24" Value="24"></asp:ListItem> 
           <asp:ListItem Text="48" Value="48"></asp:ListItem> 
          </asp:DropDownList> 
          <asp:Label ID="lblResultsDuration1" runat="server" CssClass="label"> Hours </asp:Label> 
         </asp:Panel> 
         <asp:UpdatePanel ID="MainGridUpdatePanel" runat="server"> 
          <Triggers> 
           <asp:PostBackTrigger ControlID="btn15MIN" /> 
          </Triggers> 
          <ContentTemplate> 
           <asp:Panel ID="pnlMonitorSummary" runat="server"> 
            <ul id="monitorGallery" class="gallery ui-helper-reset ui-helper-clearfix" style="margin-top: 5px;"> 
             <asp:Repeater ID="rptMonitorSummary" runat="server" OnItemDataBound="rptMonitorSummary_OnItemDataBound"> 
              <ItemTemplate> 
               <li class="ui-widget-content ui-corner-tr"> 
                <h5 class="ui-widget-header"> 
                 <%# Eval("Name").ToString().Length > 16 ? (Eval("Name") as string).Substring(0, 16) : Eval("Name")%> 
                </h5> 
                <div class="center"> 
                 <asp:Image Width="100px" ID="btnPerformanceImage" runat="server" Height="75px"></asp:Image> 
                </div> 
               </li> 
              </ItemTemplate> 
             </asp:Repeater> 
            </ul> 
           </asp:Panel> 
          </ContentTemplate> 
         </asp:UpdatePanel> 
        </td> 
       </tr> 
      </table> 
     </div> 
     </div> 

Может ли один момент мне на правильном направлении по этому

+0

Каждый си ngle post back in asp.net должен запускать событие Page_Load независимо от того, что вы используете панель обновления или что-то еще, это нормальное поведение asp.net – Adam

ответ

1

Каждый пост обратно в ASP.NET имеет не инициировать событие Page_Load независимо от того, что вы используете панель обновления или что-нибудь еще, это Нормальное поведение asp.net,

, а также попытаться поместить падения список вниз внутри панели обновления, поэтому он не будет выполнять полную постбэк при изменении выбранного элемента:

<asp:Panel ID="Panel2" runat="server"> 
          <asp:Label ID="lblResultsDuration" runat="server" CssClass="label" ForeColor="Black">View Results since the last </asp:Label> 
</asp:Panel> 
    <asp:UpdatePanel ID="MainGridUpdatePanel" runat="server"> 
          <Triggers> 
           <asp:PostBackTrigger ControlID="btn15MIN" /> 
           <asp:PostBackTrigger ControlID="ddlDuration"/> 
          </Triggers> 

          <ContentTemplate> 
          <asp:DropDownList ID="ddlDuration" OnSelectedIndexChanged="ddlDuration_SelectedIndexChanged" 
           runat="server"> 
           <asp:ListItem Text="2" Value="2"></asp:ListItem> 
           <asp:ListItem Text="4" Value="4"></asp:ListItem> 
           <asp:ListItem Text="6" Value="6"></asp:ListItem> 
           <asp:ListItem Text="8" Value="8"></asp:ListItem> 
           <asp:ListItem Text="24" Value="24"></asp:ListItem> 
           <asp:ListItem Text="48" Value="48"></asp:ListItem> 
          </asp:DropDownList> 
          <asp:Label ID="lblResultsDuration1" runat="server" CssClass="label"> Hours </asp:Label> 


           <asp:Panel ID="pnlMonitorSummary" runat="server"> 
            <ul id="monitorGallery" class="gallery ui-helper-reset ui-helper-clearfix" style="margin-top: 5px;"> 
             <asp:Repeater ID="rptMonitorSummary" runat="server" OnItemDataBound="rptMonitorSummary_OnItemDataBound"> 
              <ItemTemplate> 
               <li class="ui-widget-content ui-corner-tr"> 
                <h5 class="ui-widget-header"> 
                 <%# Eval("Name").ToString().Length > 16 ? (Eval("Name") as string).Substring(0, 16) : Eval("Name")%> 
                </h5> 
                <div class="center"> 
                 <asp:Image Width="100px" ID="btnPerformanceImage" runat="server" Height="75px"></asp:Image> 
                </div> 
               </li> 
              </ItemTemplate> 
             </asp:Repeater> 
            </ul> 
           </asp:Panel> 
          </ContentTemplate> 
         </asp:UpdatePanel> 
Смежные вопросы