2012-05-01 60 views
1

我在我的網站上使用ajax日曆擴展器。AJAX CalenderExtender不工作

<table border="0" cellpadding="0" cellspacing="0"> 
             <tr> 
              <td>Active From: <asp:TextBox ID="inputActiveFromDate" runat="server"></asp:TextBox> 
               <cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="inputActiveFromDate" PopupButtonID="btn_Calendar1" Format="dd/MM/yyyy 00:00:00"></cc1:CalendarExtender> 
               <asp:ImageButton runat="server" ID="btn_Calendar1" ImageUrl="../images/buttons/Lock_icon.gif" /> 
              </td> 
              <td width="20"></td> 
              <td>Active Until: <asp:TextBox ID="inputActiveUntilDate" runat="server"></asp:TextBox> 
               <cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="inputActiveUntilDate" PopupButtonID="btn_Calendar2" Format="dd/MM/yyyy 23:59:59"></cc1:CalendarExtender> 
               <asp:ImageButton runat="server" ID="btn_Calendar2" ImageUrl="../images/buttons/Lock_icon.gif" /> 
              </td> 
             </tr> 
        </table> 

一切工作正常,但我在所有的瀏覽器上得到這個錯誤。

> Unable to set value of the property 'PopupBehavior': object is null or 
> undefined 

請幫我解決

錯誤出現在

// Name:  MicrosoftAjax.debug.js 
// Assembly: AjaxControlToolkit 
// Version:  4.1.50508.0 
// FileVersion: 4.1.50508 
// (c) 2010 CodePlex Foundation 

initialize: function Behavior$initialize() { 
     Sys.UI.Behavior.callBaseMethod(this, 'initialize'); 
     var name = this.get_name(); 
     if (name) this._element[name] = this;// error place <--- 
    }, 

MY CS CODE:

using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["DBConn"].ToString())){ 

String sql = "INSERT INTO tablename (SDate,EDate) VALUES ('" + Convert.ToDateTime(inputActiveFromDate.Text) + "','" + Convert.ToDateTime(inputActiveUntilDate.Text) + "'); SELECT @@IDENTITY;";conn.Open(); 
        SqlCommand comm = new SqlCommand(sql, conn);  
        comm.ExecuteNonQuery(); 
        // int lastId = Convert.ToInt32(comm.ExecuteScalar()); 
        conn.Close(); 




       } 

回答

0

我相信這個問題是因爲你使用的是PopupButtonID選項並在文本框中傳遞編號

您需要取出此選項,或傳遞一個ID實際按鈕

<asp:TextBox ID="inputActiveUntilDate" runat="server"></asp:TextBox> 
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="inputActiveUntilDate" Format="dd/MM/yyyy 23:59:59"></cc1:CalendarExtender> 

OR

<asp:TextBox ID="inputActiveUntilDate" runat="server"></asp:TextBox> 
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="inputActiveUntilDate" PopupButtonID="btn_Calendar" Format="dd/MM/yyyy 23:59:59"></cc1:CalendarExtender> 
<asp:ImageButton runat="server" ID="btn_Calendar" ImageUrl="PathToACalendarButton" /> 

編輯的:

我不知道很多關於SQL注入風險,但在我看來,它可能在你的代碼中是絕對可行的。您可能想考慮使用參數化查詢,例如存儲過程。

+0

刪除「PopupButtonID」確實解決了頁面加載中的中斷問題。但是,在數據庫中提交日期條目時,它會再次中斷。我嘗試了你的兩個解決方案。 – ysr

+0

在這一點上它是如何突破的?這顯然不是同一個錯誤。所以你需要提供更多信息。 –

+0

查看如何將其保存到數據庫中可能也很有幫助。該控件可能工作得很好,你可能試圖檢索結果或保存不當。 –