asp.net coolite 删除时弹出确定按钮

preview
需积分: 0 0 下载量 108 浏览量 更新于2020-10-29 收藏 27KB PDF 举报
在ASP.NET开发中,有时候我们需要在用户执行关键操作,如删除,之前弹出一个确认对话框来防止误操作。本篇将介绍如何使用Coolite库来实现这样一个功能,特别是在删除操作时弹出带有确定按钮的确认对话框。 我们来看一下问题的核心:在使用Coolite的`Confirm()`方法时,可能无法获取到用户所选择的具体内容。为了解决这个问题,我们可以自定义一个方法来处理确认过程。 在界面上,我们可以创建一个按钮,如以下所示: ```html <ext:Button ID="btnDel" runat="server" Icon="Delete" Text="删除"> <Listeners> <Click Handler="CompanyUser.DoConfirm()" /> </Listeners> </ext:Button> ``` 这里,`btnDel`按钮在被点击时会调用`CompanyUser`页面的`DoConfirm()`方法。 为了使Ajax方法能够正常工作,我们需要添加一个`ScriptManager`组件: ```html <ext:ScriptManager ID="ScriptManager1" runat="server" AjaxMethodNamespace="CompanyUser" /> ``` `AjaxMethodNamespace`属性指定了包含Ajax方法的命名空间,这里是`CompanyUser`,对应于页面的类名。 接下来,我们看下C#后台代码的实现: ```csharp /// <summary> /// 删除 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> [AjaxMethod] public void onDeleteClick() { Coolite.Ext.Web.CheckboxSelectionModel rsm = GridPanel1.SelectionModel.Primary as Coolite.Ext.Web.CheckboxSelectionModel; int count = 0; foreach (Coolite.Ext.Web.SelectedRow sm in rsm.SelectedRows) { count = user.DeleteCompanyUser(int.Parse(sm.RecordID)); } if (count > 0) { Ext.MessageBox.Alert("提示", "删除成功").Show(); } else { Ext.MessageBox.Alert("提示", "删除失败,没有选中行!").Show(); } BindStore(); } /// <summary> /// 弹出删除对话框 /// </summary> [AjaxMethod] public void DoConfirm() { Ext.Msg.Confirm("消息提示", "是否删除选中行?", new MessageBox.ButtonsConfig { Yes = new MessageBox.ButtonConfig { Handler = "CompanyUser.onDeleteClick()", Text = "是" }, No = new MessageBox.ButtonConfig { Text = "否" } }).Show(); } ``` `onDeleteClick()`方法用于实际执行删除操作,它首先获取选中的行,然后遍历这些行并调用`DeleteCompanyUser()`方法删除用户。删除成功后,会显示一个提示信息;如果未选中任何行,也会有相应的错误提示。 `DoConfirm()`方法则是用来弹出确认对话框的。它使用`Ext.Msg.Confirm()`方法,传入一个标题、确认消息以及包含“是”和“否”两个按钮的配置。当用户点击“是”时,会调用`onDeleteClick()`方法;点击“否”则不做任何操作。 通过以上步骤,我们就成功地在ASP.NET应用中使用Coolite实现了在删除操作前弹出确认对话框的功能。这不仅可以提高用户体验,还能防止用户意外删除数据。记得在实际开发中,根据具体需求调整代码,确保与你的业务逻辑相匹配。