在删除中继器中的一行之前,我想做验证,问一下,你确定要删除吗.?我怎么能做到这一点



我想做验证,问这个问题,你确定要删除..吗。。?

<asp:LinkButton ID="lnkDelete" runat="server"  
           CommandName='<%# DataBinder.Eval(Container.DataItem, "ImageId") %>' OnCommand="Calling_Delete">Delete</asp:LinkButton> 

最简单的方法是使用Confirm Button扩展程序。只需将此控件拖动到链接按钮旁边,并将Confirmbutton externanders TargetControlID设置为链接按钮的Id。其他一切都将由控制人员处理。

更多信息-http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ConfirmButton/ConfirmButton.aspx

使用OnClientClick属性附加将执行提示的java脚本。例如,

<asp:LinkButton ID="lnkDelete" runat="server" 
     CommandName='<%# DataBinder.Eval(Container.DataItem, "ImageId") %>' 
     OnClientClick="return confirm('Are sure you want to delete..?');"
     OnCommand="Calling_Delete">Delete</asp:LinkButton>

这个答案有一种方法,使用jQuery和jQuery UI对话框

使用jQueryUI提供的javascript对话框的一个优点是,弹出对话框仅适用于显示它的网页。当弹出窗口显示时,您仍然可以访问浏览器中的其他选项卡。

其他使用javascript confirm功能的解决方案将强制用户在切换到另一个浏览器选项卡之前关闭确认对话框。

如果你想使用自定义确认(如jquery对话框、bootboxjs等),那么你必须生成按钮的"回发字符串"或以某种方式获得它。asp.net在呈现页面后给出诸如回发的名称__doPostBack('ctl00$ContentPlaceHolder1$btnDelteSelected','')。在实现这一点后,我编写了一个js函数,它生成按钮的回发str;

function PostBackBtnMake(id) { // id : ContentPlaceHolder1_btnDeleteSelected
var result;
var temp = id.split('_');
result = 'ctl00$' + temp[0] + '$' + temp[1];
return result;

}

然后我可以在自定义确认框中使用(在这种情况下,我使用了bootboxjs);

function PostBackBtn(e) {
var _result = false;
bootbox.confirm("Are you sure?", function (result) {
    if (result) {
        __doPostBack(PostBackBtnMake(e.id), '')
    }
});
return _result;

}

它对我很有效,我希望它也能帮助你。

相关内容

最新更新