shangwd

后台弹出删除框根据结果选择执行【转】

在使用服务器端控件的情况下,不能在页面上直接使用在js中用confirm进行删除判断

操作方式:在页面放置两个删除按钮控件,一个是可见的,用于触发后台的confirm判断,一个是隐藏的真正删除按钮,

我们还需要一个隐藏控件,用于保存confirm的选择结果

源码如下:

aspx界面:

 

[csharp] view plain copy
 
 print?
  1. <cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnDelete_Click" Text="删 除" runat="server"  
  2.     ID="btnDelete" />  
  3.   
  4. <!--隐藏控件存值-->  
  5. <cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnHiddenDelete_Click" Width="0px"  
  6.     Height="0px" ID="btnHiddenDelete" runat="server" />  
  7. <asp:HiddenField ID="hidField" runat="server" />  
  8. <asp:HiddenField ID="hidFieldOid" runat="server" />  

后台:

 

 

 

[csharp] view plain copy
 
 print?
  1. /// <summary>  
  2.         /// 获取选中行的OID  
  3.         /// </summary>  
  4.         /// <returns></returns>  
  5.         private string GetSelectedOid()  
  6.         {  
  7.             string strOid = string.Empty;  
  8.             for (int i = 0; i < this.gvInfo.Rows.Count; i++)  
  9.             {  
  10.                 CheckBox chk = (CheckBox)this.gvInfo.Rows[i].FindControl("chkSelected");  
  11.                 if (chk.Checked == true)  
  12.                 {  
  13.                     strOid += chk.ToolTip + "|";  
  14.                 }  
  15.             }  
  16.             if (!string.IsNullOrEmpty(strOid))  
  17.             {  
  18.                 strOid = strOid.Substring(0, strOid.Length - 1);  
  19.             }  
  20.             return strOid;  
  21.         }          
  22. /// <summary>  
  23.         /// 删除弹框  
  24.         /// </summary>  
  25.         /// <param name="sender"></param>  
  26.         /// <param name="e"></param>  
  27.         protected void btnDelete_Click(object sender, EventArgs e)  
  28.         {  
  29.             strOid = GetSelectedOid();  
  30.             this.hidFieldOid.Value = strOid;  
  31.             if (string.IsNullOrEmpty(strOid))  
  32.             {  
  33.                 ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('请选择您要删除的[" + this.PageReportName + "]!');", true);  
  34.                 return;  
  35.             }  
  36.             string js = string.Format("document.getElementById('{0}').value=confirm('确定要删除已选的记录?');document.getElementById('{1}').click();", this.hidField.ClientID, this.btnHiddenDelete.ClientID);  
  37.             ClientScript.RegisterStartupScript(GetType(), "confirm", js, true);  
  38.         }  
  39.   
  40.         /// <summary>  
  41.         /// 真正的删除操作  
  42.         /// </summary>  
  43.         /// <param name="sender"></param>  
  44.         /// <param name="e"></param>  
  45.         protected void btnHiddenDelete_Click(object sender, EventArgs e)  
  46.         {  
  47.             if (bool.Parse(this.hidField.Value) == true)  
  48.             {  
  49.                 strOid = this.hidFieldOid.Value;  
  50.                 HbViewCostManageDao hbcDao = new HbViewCostManageDao(DataConstCm.PARA_PLAT_DB_TYPE, objPageParaMessage.CompanyDBConn);  
  51.                 hbcDao.Delete(strOid);  
  52.                 DataLoadInfo(GetModelInfo(), strSorting);  
  53.             }  
  54.         }  

posted on 2016-08-10 10:46  shangwd  阅读(186)  评论(0编辑  收藏  举报