2013-10-04 3 views
0

Я использую планировщик devexpress в своем приложении asp.net. Мой планировщик содержит навигатор даты и навигатор просмотра (в основном, дневной просмотр, просмотр недели и вид месяца). Мой планировщик находится внутри пользовательского элемента управления. Я использую этот элемент управления на моей странице aspx. На этой странице есть метка lblRecords, которая показывает количество записей, отображаемых в планировщике. Когда я изменяю представление (представление по умолчанию - представление месяца), метка не обновляется. Ниже приведены некоторые изображения, которые показывают мою проблему.Сильно обновить значение метки за пределами области обратного вызова

При загрузке страницы в месяц зрения 139 записей enter image description here

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

enter image description here

страницы ASPX

<asp:UpdatePanel ID="updCalendar" runat="server" UpdateMode="Conditional"> 
       <ContentTemplate> 
        <div class="leftarea" style="height: 400px"> 
         <div class="comn_captn calender_left"> 
          Calender View<a href="#"></a></div> 
              <table border="0" cellpadding="5" cellspacing="5" width="100%"> 

          <tr> 
           <td style="vertical-align: top"> 
            <label> 
             <strong> 
              <asp:Label ID="lblRecords" runat="server"></asp:Label></strong></label> 
           </td> 
          </tr> 
          <tr> 
           <td style="vertical-align: top"> 
            <hr /> 
           </td> 
          </tr> 
    .... 

          </table> 

        </div> 
        <div class="rightarea"> 
         <div class="comn_captn"> 
          &nbsp; 
         </div> 
         <div class="comonform_elements"> 
          <uc1:CalendarView ID="calBMJob" runat="server" /> 
         </div> 
        </div> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

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

Пожалуйста, помогите мне с этой проблемой. Я пробовал много решений в SO, но ничего не получилось. Любая работа вокруг была бы также оценена.

ответ

1

Скорее всего, при изменении вида обратный вызов происходит в вашем контроле за расписанием. Этот обратный вызов не содержит метки, поэтому, если вы обновите текст ярлыка на сервере, изменения не будут видны на клиенте. Есть несколько способов заставить это работать.

1: (вероятно, больше работы) Положите все в ASPxCallbackPanel и установите все регуляторы начинают обратный вызов события на стороне клиента отменить событие, а затем вызвать метод CallbackPanel.PerformCallback (арг).

2: (вероятно, меньше работы) Обновление метки в методе стороне клиента EndCallback контроля графика со значением от JSProperty что-то вроде так:

//javascript 
function CalendarView_EndCallback(s,e){ 
    if(s.cp_labelText != undefined) 
    { 
     //change label to ASPxLabel and set a JSProperty on schedule control to do this. 
     lblRecords.SetText(s.cp_labelText); 
    } 
} 

Это будет означать, что вам нужно свойство на вашем UserControl, чтобы установить метод EndCallback на странице, которая создает элемент управления и свойство, чтобы получить доступ к JSProperty или элементу управления с JSProperty.

+0

Я попробую и дам вам знать – Nisha

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