2012-05-01 13 views
1

私のウェブサイトにajax calender extenderを使用しています。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で来る:私はあなたがPopupButtonIDオプションを使用しているのために問題があると考えてい

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

テキストボックスIDを渡す

私は、SQLインジェクションのリスクについて多くを知らない

、:

あなたはどちらかは、[編集]を、このオプションを削除するか、実際のボタンの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" /> 

を渡す必要がありますそれはあなたのコードでは間違いなく可能かもしれないと私には思われます。ストアドプロシージャなどのパラメータ化されたクエリの使用について考えてみるとよいでしょう。

+0

"PopupButtonID"を削除すると、ページの読み込み中にブレークが解決されました。ただし、データベースにDateエントリを送信すると、再度破棄されます。私は両方のソリューションを試しました。 – ysr

+0

その時点でどのように壊れていますか?それは明らかに同じエラーではありません。だから、より多くの情報を提供する必要があります。 –

+0

データベースにどのように保存しようとしているかを知ることも役立ちます。コントロールは正常に動作している可能性があります。結果を取得しようとしているか、不適切に保存しようとしている可能性があります。 –