2011-06-02 62 views
0

對.NET編程(和AJAX)總共使用newb,但我一直在研究這個程序。我在這個問題中陳述的許多事情可能沒有意義,所以請在我的理解關閉的地方糾正我。在asp中使用AJAX:日曆

現在我已經有一個ASP:日曆有這個屬性:OnSelectionChanged =「SelectionChanged」。因此,當用戶單擊日曆時,將在服務器上調用SelectionChanged方法。但是這需要一個回傳,這是非常慢的 - 就我的程序而言,目前不需要服務器參與;客戶可以處理所有事情。

所以我想用JavaScript處理它。通過點擊asp:Calendar觸發一段JavaScript代碼可以獲得某種方式。我是否會用某種Ajax擴展器來做這件事?還是有另一種方式?

回答

0

好了,你可以使用標準的.NET AJAX控件,它們是實現很簡單....

基本上,你需要先在您的標記腳本經理,沒有什麼複雜有關。只要確保它在標籤中。

您想要在AJAX回發中將您想要訪問的頁面部分封裝在UpdatePanel標籤中。更新面板將需要一個ContentTemplate,這是您的所有實際頁面內容所在的位置。它還需要一個觸發器標籤,這就是您指定想要觸發回發的控件和事件的位置。任何想要觸發AJAX回發的控件必須將其AutoPostBack屬性設置爲「true」。

這裏是基本的佈局:

<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
<asp:UpdatePanel runat="server" ID="UpdatePanel1"> 
<ContentTemplate> 
<asp:Label runat="server" ID="UpdateMe"/> 
<asp:TextBox runat="server" ID="AjaxTextBox" AutoPostBack="true" OnTextChanged="AjaxTextBox_TextChanged/> 
</ContentTemplate> 

<Triggers> 
<asp:AsyncPostBackTrigger ControlID="AjaxTextBox" EventName="TextChanged" /> 
</Triggers> 
</asp:UpdatePanel> 

現在,這幾天我不認爲這是做事的首選方法。大多數web開發人員正在使用jQuery AJAX方法來處理它,但這是一種快速簡便的方式,可以開始我想。但是,jQuery AJAX方法並不困難。當然還有其他值得研究的東西......但我不喜歡使用像Jquery AJAX一樣的Calendar控件。對於這些情況,我使用jquery-ui日曆控件。與處理與Jquery AJAX混合的大量自定義.NET控件相比,不得不轉換和檢查日期時間的代價是最小的。

+0

我明白了 - 大約一個小時之後纔開始工作(不要問),我可以說更新面板對我來說肯定是非常有用的。雖然我不認爲這是客戶端,但它是非常重要的。 – Jeremy 2011-06-02 21:29:56

1

我在使用jQuery datepicker之前,在選擇日期時沒有回發。

+0

asp:Calendar不僅僅是一個日期選擇器(ajax還有一個可以擴展文本框的日期選擇器),它是一個完整的日曆。 – Jeremy 2011-06-02 15:32:55