2016-06-21 3 views
0

私はRadAjaxManagerを使用していくつかのWebFormsコントロールを実現しています。 AJAXは、1以外のすべてのシナリオで正常に動作します:validateValidation機能は私のフォームコントロールの上にいくつかのクライアント側のページの検証を発射RadAjaxがクライアントサイドイベントハンドラの後に1回目のクリックで起動しない

<asp:LinkButton ID="lnkSaveButton" 
        Text="Save" 
        OnClick="lnkSaveButton_Click" 
        OnClientClick="if (! validateValidation()) return false;" 
        runat="server" /> 

、あれば提出からフォームをブロックするようにfalseを返します。

私がLinkBut​​tonコントロールを持っていますページは無効です。

Pageが無効な場合、RadAjaxManagerが対象とするすべてのコントロールは、検証が完了した後で最初のクリック(のみ)でajaxリクエストを発生させることができません。

その後、ajaxifiedコントロールをクリックすると、要求が正しく実行されます。 すべて ajaxifiedコントロールが1回クリックされた後、Ajaxifiedコントロールのが正しく機能することにも注意してください。非アクセラレーション化されたコントロール(RadAjaxManagerの対象外)をクリックしても影響はありません。

RadAjaxManagerを単純な0​​に置き換えると、私は上記と全く同じ結果になることにも注意してください。

何が起こっているのですか、どうすれば解決できますか?

答えて

0
  • あなたは何のスクリプトエラーが

  • は、クライアント側のハンドラでajaxRequsetWithTarget場合を呼び出してみてください、特に検証により、スローされていないことを確認してくださいRadAjaxPanelが

  • を制御包含するAjaxSettingsを追加していないことを確認検証は成功しました。

    <telerik:RadCodeBlock runat="server" ID="RadCodeBlock1"> 
         <script> 
          function validateValidation() { 
           var validatinPassed = true; 
           $find("<%=RadAjaxManager.GetCurrent(Page).ClientID%>").ajaxRequestWithTarget('<%= lnkSaveButton.UniqueID %>', ''); 
           return false; 
          } 
         </script> 
        </telerik:RadCodeBlock> 
        <asp:LinkButton ID="lnkSaveButton" 
            Text="Save" 
            OnClick="lnkSaveButton_Click" 
            OnClientClick="if (! validateValidation()) 
             return false;" 
            runat="server" /> 
        <asp:Label ID="Label1" Text="text" runat="server" /> 
        <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
         <AjaxSettings> 
          <telerik:AjaxSetting AjaxControlID="lnkSaveButton"> 
           <UpdatedControls> 
            <telerik:AjaxUpdatedControl ControlID="lnkSaveButton" /> 
            <telerik:AjaxUpdatedControl ControlID="Label1" /> 
           </UpdatedControls> 
          </telerik:AjaxSetting> 
         </AjaxSettings> 
        </telerik:RadAjaxManager> 
    

    とtのサンプルハンドラヒントについて

    protected void lnkSaveButton_Click(object sender, EventArgs e) 
    { 
        Label1.Text = DateTime.Now.ToString(); 
    } 
    
+0

感謝をesting。私はこれについて大部分をカバーしていると思いますが、すぐに 'ajaxRequestWithTarget'関数を試してみましょう。 – Adam

関連する問題