2017-03-20 51 views
0

我在RadAjaxManager中使用了多個設置。我有一個服務器控件asp按鈕,單擊時會重新加載整個頁面。爲了避免這種情況發生,我把這個設置放在RadAjaxManager中,但是由於某種原因,我的代碼在點擊事件之後不會觸發。任何想法,請當我在RadAjaxManager中使用服務器端按鈕點擊不會觸發

<telerik:RadAjaxPanel ID="RadAjaxPanel" PostBackControls="btnPrint" runat="server"> 
    <div class="grid-wrapper" id="subcodeDiv" style="padding: 0px; margin-top: 20px; margin-left: 0; margin-right: 0px; width: 1160px; float: left; overflow: hidden"> 
     <table class="subcodesdata"> 
      <tr> 
       <td> 
       <asp:Button ID="btnPrint" runat="server" Text="Print" CssClass="button" OnClick="btnPrint_Click" ></asp:Button> 
       </td> 
      </tr> 
     </table> 
    </div> 
</telerik:RadAjaxPanel> 
+0

:RadAjaxPanel'沒有你設置'PostBackControls = 「btnPrint」' –

+0

是的,我試過了。請看我更新的問題。不幸的是仍然不起作用 – user2837961

+0

嘗試在「AjaxSetting」中引用「AjaxPanel」而不僅僅是按鈕。使用:'和'' –

回答

0

的問題在於,你同時適用RadAjaxManagerRadAjaxPanel相同的按鈕,這是錯誤的,不必要的。您只需在這裏選擇其中一種方法。

請嘗試以下工作代碼示例。當您單擊「打印」按鈕1時,文本將被加載到span標記中並顯示在屏幕上,而不會刷新頁面。它也適用於「打印」按鈕2。

RadAjaxPanel方法

<telerik:RadAjaxPanel runat="server" ID="rap" PostBackControls="btnPrint2"> 
      <div class="grid-wrapper"> 
      <table class="subcodesdata"> 
       <tr> 
        <td> 
         <asp:Button ID="btnPrint2" runat="server" Text="Print 2" CssClass="button" OnClick="btnPrint2_Click"></asp:Button> 
         <br /> 
         <span runat="server" id="span2"></span> 
        </td> 
       </tr> 
      </table> 
     </div> 
    </telerik:RadAjaxPanel> 

    protected void btnPrint2_Click(object sender, EventArgs e) 
    { 
     span2.InnerHtml = "Print button 2 clicked..."; 
    } 

RadAjaxManager方法

<telerik:RadAjaxManager ID="ram" runat="server"> 
     <AjaxSettings> 
      <telerik:AjaxSetting AjaxControlID="btnPrint1"> 
       <UpdatedControls> 
        <telerik:AjaxUpdatedControl ControlID="subcodeDiv" /> 
       </UpdatedControls> 
      </telerik:AjaxSetting> 
     </AjaxSettings> 
</telerik:RadAjaxManager> 
<div class="grid-wrapper" id="subcodeDiv" runat="server"> 
     <table class="subcodesdata"> 
      <tr> 
       <td> 
        <asp:Button ID="btnPrint1" runat="server" Text="Print 1" CssClass="button" OnClick="btnPrint1_Click"></asp:Button> 
        <br /> 
        <span runat="server" id="span1"></span> 
       </td> 
      </tr> 
     </table> 
    </div> 
    protected void btnPrint1_Click(object sender, EventArgs e) 
    { 
     span1.InnerHtml = "Print button 1 clicked..."; 
    } 
在`Telerik的
+0

我試了兩個。第一種方法(RadAjaxPanel)停止事件的觸發器,第二種方法(RadAjaxManager)有刷新問題。 – user2837961

+0

@ user2837961我注意到在第二種方法中出現了一個輸入錯誤,其中'AjaxControlID'被賦予了錯誤的值。我已經用正確的控制ID更新了它,所以請再試一次,它不應該給你刷新問題。 – woodykiddy

相關問題