簡體   English   中英

在ASP.net中為日歷控件禁用自動回發

[英]To disable autopostback for Calender Control in ASP.net

我試圖使用System.Web.UI.WebControls.Calender。

但是,當我選擇任何日期時,它會自動回發。 有什么辦法可以避免這種行為。

(我沒有看到通常的屬性AutoPostback,我將其設置為False來避免此行為)

用戶提交表單后,我才需要選擇的日期。

注意-我正在使用VS2008

我通常避免避免MS壓光機控制,因為我發現使用它和樣式非常困難。 您是否考慮過類似jQuery UI日期選擇器之類的東西,可以根據需要工作,而且樣式設置也容易得多。

http://jqueryui.com/demos/datepicker/#inline

它回發以在UI上設置所選表單。 您可以做的是使用客戶端日歷(例如jquery ui)或使用ajax日歷擴展程序,這樣它就不會回發整個頁面。

MS Calendar可以使用。 您可以在DayRender事件中自定義每個單元格的內容:

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        e.Cell.Text = e.Day.DayNumberText;
    }

您可以將e.Cell.Text設置為div或跨度,並帶有文本和javascript onclick事件或鏈接。 您可以在其中放置任何HTML。

  • 您不能禁用標准日歷控件的“自動回發”
  • 我認為您可以使用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" %>

請記住,有一個關於此主題的論壇, PLBlum說:

ASP.NET附帶的Calendar控件僅使用回發。 如果將Microsoft ASP.NET AJAX添加到頁面並將日歷放入UpdatePanel,則可以通過使用回調來減少回發的出現。 但是對於日期或月份的每次單擊,它仍然會訪問服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM