2013-12-14 2 views
8

Я заметил, что элемент управления календарем в ASP.NET не имеет свойства AutoPostBack. Я хочу, чтобы, когда я выбираю дату из элемента управления, элемент управления должен not отправить назад страницу. Как это сделать? И еще одно, когда я наводил курсор на каландр, он показывает мне сценарий. "javascript:__doPostBack('Calendar2','5098')". Так что мой вопрос заключается в том, чтобы отключить этот JavaScript делать не postback значенияУправление календарем без обратной передачи

+0

возможный дубликат http://stackoverflow.com/questions/5140200/к-Disable-AutoPostBack-для-каландр-контроль-в-Asp-нетто –

ответ

4

Там нет никакого способа, чтобы выключить postbacks на сервер, но вы можете использовать updatepanel контроль, который может помочь вам некоторому что.

3

По PLBlum at the ASP.NET forums:

управления Calendar включены в ASP.NET использует только постбэки. Если вы добавили Microsoft ASP.NET AJAX на страницу и поместили календарь в UpdatePanel, это может уменьшить внешний вид обратных передач, используя обратные вызовы . Но он по-прежнему совершает поездку на сервер для каждого нажатия на дату или месяц .

Многие люди создали замены в элементе управления календарем, который использует javascript для выполнения работы. Я являюсь автором одного из них в «Пакет« Петра ». Вы можете найти других на этих сайтах: Галерея управления (здесь в разделе Ресурсы), www.123aspx.com и www.411asp.net.

0

Я думаю, вы можете использовать "CalendarExtender" из AjaxToolkit


<asp:TextBox ID="txtCalendarExtender" runat="server"></asp:TextBox> 
<cc3:CalendarExtender ID="Calendar1" PopupButtonID="imgPopup" runat="server" TargetControlID="txtCalendarExtender" Format="dd/MM/yyyy"> 
</cc3:CalendarExtender> 

Не забудьте добавить этот код в верхней части страницы:

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc3" %> 
0

Вы можете добавить, как показано ниже:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:Calendar ID="ad_Cal" runat="server" OnSelectionChanged="ad_Cal_SelectionChanged" ></asp:Calendar> 

      <asp:Button ID="btn_Del_Day" runat ="server" Text ="Remove Day" OnClick="btn_Del_Day_Click" UseSubmitBehavior="False" BackColor="#4AA3DF" Font-Bold="True" ForeColor="White" /> 
      <asp:Button ID="btn_sort_Date" runat="server" Text="Sort Days" UseSubmitBehavior="False" BackColor="#4AA3DF" Font-Bold="True" ForeColor="White" OnClick="btn_sort_Date_Click" /> 
      <asp:ListBox ID="lst_ad_dates" runat="server"></asp:ListBox> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

обратите внимание, что вы должны использовать UseSubmitBehavior = «False» с кнопками также, чтобы остановить постбэк для кнопок в том же UpdatePanel

Он отлично работает

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