我有以下代码:
<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server" LoadingPanelID="rlpMain">
<asp:ImageButton ID="ImageButton1" runat="server"
OnClientClick="return confirm('Are you sure?');" />
</telerik:RadAjaxPanel>
此代码不会触发我在.vb文件中编写的事件后面的代码。
请帮助我......
答案 0 :(得分:4)
可能需要向用户提供确认对话框,并在接受时启动AJAX请求。使用标准回复的确认通常如下所示:
<asp:ImageButton ID="ImageButton1" runat="server"
OnClientClick="return confirm('Are you sure?');" />
OnClientClick应该稍微更改以使用AJAX:
<asp:ImageButton ID="ImageButton2" runat="server"
OnClientClick="if (!confirm('Are you sure?')) return false;" />
当通过向RadAjaxManager添加必要的AJAX设置或将按钮放在RadAjaxPanel控件中时,按钮被ajaxified。
或者,OnRequestStart客户端事件可用于实现更复杂的逻辑。这是一个示例脚本:
<telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
<script type="text/javascript">
function OnRequestStart(ajaxControl, eventArgs) {
var eventTarget = eventArgs.get_eventTarget();
if (eventTarget == "<%= ImageButton1.UniqueID %>") {
return confirm('Are you sure?');
}
else {
return false;
}
}
</script>
</telerik:RadCodeBlock>
答案 1 :(得分:0)
如果您想坚持使用RadControls,可以使用RadButton作为此处定义的ImageButton:
http://www.telerik.com/help/aspnet-ajax/button-image-buttons.html
创建一个按钮,将OnClientClicking属性设置为一个函数,该函数在下面调用一个确认(或radconfirm,用于粘贴在telerik中):
function ConfirmDeletion(sender, args) {
var ContinuePostBack = Function.createDelegate(sender, function (clickedOK) {
if (clickedOK) {
this.click();
}
});
var text = "Are you sure you wish to delete this attribute?";
radconfirm(text, ContinuePostBack, 300, 100, null, "Deletion");
args.set_cancel(true);
}
这将取消回发,但如果用户单击“确定”,则通过委托ContinuePostBack单击该按钮。我已经使用这段代码来提示删除。