从Telerik radconfirm调用C#代码

时间:2010-07-20 11:44:45

标签: c# asp.net telerik rad

是否可以从Telerik radconfirm调用C#代码?我可以让它调用Javascript,但没有服务器端代码。我希望用户单击一个按钮,为他们提供一个弹出框(radconfirm)。使用radconfirm - 如果用户选择“是”,将执行c#代码,如果他们点击“取消”,则不会执行任何代码

<asp:Button 
                    ID="button1" 
                    runat="server" 
                    CssClass="resetOk" 
                    Text="OK"
                    OnClientClick="radconfirm('<h3 style=\'color: #333399;\'>
                    Are you sure you want to reset this budget?</h3>',confirmCallBackFn,
                    330, 100,null,'Confirm Reset'); return false;"
/>

3 个答案:

答案 0 :(得分:0)

您可以在页面上添加RadAjaxManager,然后在confirmCallBackFn中发出Ajax请求。这将在服务器上引发一个事件,您将能够执行服务器代码而无需更新页面上的任何控件 - 请参阅telerik help了解实现细节。

答案 1 :(得分:0)

您有(至少)两个选项用于从RadConfirm(或任何JavaScript事件)调用服务器代码。在客户端事件处理程序中,可以是:

  • A)使用Microsoft AJAX执行 “鬼鬼祟祟的回发”和过程 服务器端代码
  • B)使用jQuery(或 MSFT AJAX)调用一个Web服务 执行你的代码

选项B优于选项A,因为它避免了ASP.NET页面生命周期,并且是一种更轻,更快的方式来执行服务器代码以响应客户端事件。如果您在服务器上执行的代码需要更新页面上的ASP.NET服务器控件,则仅使用选项A.

参考资料可以帮助您选择任何一种方法:

Calling ASP.NET web services with jQuery

Executing AJAX PostBack with RadAjaxManager from JavaScript

答案 2 :(得分:0)

根据我的理解,您希望阻止执行onclick,就像您可以使用标准确认弹出窗口一样,telerik网站上有一篇知识库文章:Block the execution thread with radconfirm