0

是否可以从 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;"
/>
4

3 回答 3

0

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

于 2010-07-20T12:38:24.870 回答
0

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

  • A) 使用 Microsoft AJAX 执行“偷偷摸摸的回发”并处理服务器端代码
  • B) 使用 jQuery(或 MSFT AJAX)调用执行代码的 Web 服务

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

可帮助您选择任一选项的参考资料:

使用 jQuery 调用 ASP.NET Web 服务

使用 RadAjaxManager 从 JavaScript 执行 AJAX PostBack

于 2010-07-21T20:26:20.910 回答
0

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

于 2010-07-23T00:58:45.700 回答