后台弹出删除框根据结果选择执行【转】
2016-08-10 10:46
260 查看
转自http://blog.csdn.net/yiqijinbu/article/details/8432099 csdn上的博客被封了,进不去,博客园中留着备份以后会有用的
在使用服务器端控件的情况下,不能在页面上直接使用在js中用confirm进行删除判断
操作方式:在页面放置两个删除按钮控件,一个是可见的,用于触发后台的confirm判断,一个是隐藏的真正删除按钮,
我们还需要一个隐藏控件,用于保存confirm的选择结果
源码如下:
aspx界面:
[csharp] view plain copy
print?
<cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnDelete_Click" Text="删 除" runat="server"
ID="btnDelete" />
<!--隐藏控件存值-->
<cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnHiddenDelete_Click" Width="0px"
Height="0px" ID="btnHiddenDelete" runat="server" />
<asp:HiddenField ID="hidField" runat="server" />
<asp:HiddenField ID="hidFieldOid" runat="server" />
后台:
[csharp] view plain copy
print?
/// <summary>
/// 获取选中行的OID
/// </summary>
/// <returns></returns>
private string GetSelectedOid()
{
string strOid = string.Empty;
for (int i = 0; i < this.gvInfo.Rows.Count; i++)
{
CheckBox chk = (CheckBox)this.gvInfo.Rows[i].FindControl("chkSelected");
if (chk.Checked == true)
{
strOid += chk.ToolTip + "|";
}
}
if (!string.IsNullOrEmpty(strOid))
{
strOid = strOid.Substring(0, strOid.Length - 1);
}
return strOid;
}
/// <summary>
/// 删除弹框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
strOid = GetSelectedOid();
this.hidFieldOid.Value = strOid;
if (string.IsNullOrEmpty(strOid))
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('请选择您要删除的[" + this.PageReportName + "]!');", true);
return;
}
string js = string.Format("document.getElementById('{0}').value=confirm('确定要删除已选的记录?');document.getElementById('{1}').click();", this.hidField.ClientID, this.btnHiddenDelete.ClientID);
ClientScript.RegisterStartupScript(GetType(), "confirm", js, true);
}
/// <summary>
/// 真正的删除操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnHiddenDelete_Click(object sender, EventArgs e)
{
if (bool.Parse(this.hidField.Value) == true)
{
strOid = this.hidFieldOid.Value;
HbViewCostManageDao hbcDao = new HbViewCostManageDao(DataConstCm.PARA_PLAT_DB_TYPE, objPageParaMessage.CompanyDBConn);
hbcDao.Delete(strOid);
DataLoadInfo(GetModelInfo(), strSorting);
}
}
在使用服务器端控件的情况下,不能在页面上直接使用在js中用confirm进行删除判断
操作方式:在页面放置两个删除按钮控件,一个是可见的,用于触发后台的confirm判断,一个是隐藏的真正删除按钮,
我们还需要一个隐藏控件,用于保存confirm的选择结果
源码如下:
aspx界面:
[csharp] view plain copy
print?
<cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnDelete_Click" Text="删 除" runat="server"
ID="btnDelete" />
<!--隐藏控件存值-->
<cc2:DcjetButton UseSubmitBehavior="false" OnClick="btnHiddenDelete_Click" Width="0px"
Height="0px" ID="btnHiddenDelete" runat="server" />
<asp:HiddenField ID="hidField" runat="server" />
<asp:HiddenField ID="hidFieldOid" runat="server" />
后台:
[csharp] view plain copy
print?
/// <summary>
/// 获取选中行的OID
/// </summary>
/// <returns></returns>
private string GetSelectedOid()
{
string strOid = string.Empty;
for (int i = 0; i < this.gvInfo.Rows.Count; i++)
{
CheckBox chk = (CheckBox)this.gvInfo.Rows[i].FindControl("chkSelected");
if (chk.Checked == true)
{
strOid += chk.ToolTip + "|";
}
}
if (!string.IsNullOrEmpty(strOid))
{
strOid = strOid.Substring(0, strOid.Length - 1);
}
return strOid;
}
/// <summary>
/// 删除弹框
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
strOid = GetSelectedOid();
this.hidFieldOid.Value = strOid;
if (string.IsNullOrEmpty(strOid))
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('请选择您要删除的[" + this.PageReportName + "]!');", true);
return;
}
string js = string.Format("document.getElementById('{0}').value=confirm('确定要删除已选的记录?');document.getElementById('{1}').click();", this.hidField.ClientID, this.btnHiddenDelete.ClientID);
ClientScript.RegisterStartupScript(GetType(), "confirm", js, true);
}
/// <summary>
/// 真正的删除操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnHiddenDelete_Click(object sender, EventArgs e)
{
if (bool.Parse(this.hidField.Value) == true)
{
strOid = this.hidFieldOid.Value;
HbViewCostManageDao hbcDao = new HbViewCostManageDao(DataConstCm.PARA_PLAT_DB_TYPE, objPageParaMessage.CompanyDBConn);
hbcDao.Delete(strOid);
DataLoadInfo(GetModelInfo(), strSorting);
}
}
相关文章推荐
- 后台弹出删除框根据结果选择执行
- 关于根据后台代码获取confirm返回结果后再执行后台代码(转)
- 根据JS判断是否执行C#后台代码(后台弹出确定/取消提示窗口)
- 关于根据后台代码获取confirm返回结果后再执行后台代码
- DropDownList 根据客户端的选择执行相关后台代码!
- mfc根据进程名删除后台运行的可执行文件,判断进程是否后台运行
- ASP.NET在后台代码实现个功能,根据选择提示用户是否继续执行操作
- excel导出时 如何根据java后台返回的结果 动态实现excel复选框的勾选
- 【摘改】在DataGrid中删除一行时弹出选择对话框
- 后台代码里执行弹出脚本方法!(Response.Write)(转)
- (论坛答疑点滴)怎么后台添加CheckBoxList并且得到选择结果
- 后台代码里执行弹出脚本方法!(Response.Write)
- 后台代码里执行弹出脚本方法!(Response.Write)
- SQL邮件自动应答(根据收到的邮件中的查询语句回复语句执行结果)
- 先读数据再弹出对话框根据对话框的选择来触发事件 confirm button input
- 后台代码里执行弹出脚本方法!(Response.Write)
- 近期.NET学习及项目开发整理-弹出对话框显示 是否 然后得到 选择的结果
- LinkButton想弹出提示窗体后再执行后台方法
- 后台根据Value选择Select项
- JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法