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