没有回发的日历控件

时间:2013-12-14 09:43:24

标签: asp.net

我注意到ASP.NET中的日历控件没有AutoPostBack属性。我希望当我从控件中选择一个日期时,控件必须not回发页面。我该怎么做?还有一件事,当我将鼠标悬停在日历上时,它会向我显示一个脚本。 "javascript:__doPostBack('Calendar2','5098')"。所以我的问题是如何禁用此javascript而不是postback

4 个答案:

答案 0 :(得分:4)

无法关闭postbacks到服务器,但您可以使用updatepanel控件来帮助您解决问题。

答案 1 :(得分:3)

根据PLBlum at the ASP.NET forums

  

ASP.NET附带的Calendar控件仅使用回发。如果你   将Microsoft ASP.NET AJAX添加到页面并将日历放入   UpdatePanel,它可以通过使用减少回发的外观   回调。但它仍然会在每次点击时访问服务器   日期或月份。

     

很多人都创建了Calendar控件的替换   使用javascript来完成工作。我是“彼得的作者”的作者   日期包“。您可以在这些网站中找到其他人:控件   图库(在资源下),www.123aspx.com和www.411asp.net。

答案 2 :(得分:1)

您可以添加以下内容

<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 =&#34; False&#34;使用按钮也可以停止同一updatePanel中按钮的回发

工作正常

答案 3 :(得分:0)

我认为您可以使用 AjaxToolkit

中的“CalendarExtender”
<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" %>