后面代码中ScriptManager.RegisterStartupScript确认框的返回值

问题描述 投票:0回答:1

ImageButton 上有两个确认框 - 第一个是常规确认框,显示“您确定要删除它吗?” (即来自客户端的

OnClientClick
事件)。如果选择“是”,则会进入服务器端代码,其中会进行另一项检查,如果该检查为真,则使用
ScriptManager.RegisterStartupScript
从后面的代码中显示第二个确认框。

Page page = HttpContext.Current.CurrentHandler as Page;
string script = "alert('There are Agents associated to this group. Are you sure you want to delete this group?')";
ScriptManager.RegisterStartupScript(page, page.GetType(), "its working", script, true);

我的问题是,我如何才能知道第二个确认框的值(在后面的代码中生成),因为对于该答案我有一个删除记录。

有什么建议吗?

asp.net gridview imagebutton scriptmanager confirm
1个回答
3
投票

用户确认删除后(第二次),需要第二次往返服务器,将值传递到服务器端。

在表单上,您可以添加一个隐藏字段来保存第二次确认的结果。 如果隐藏字段名为“confirmDelete”,那么您可以像这样更改启动脚本:

  1. 在页面上,添加一个javascript函数来提示用户,获取响应,放入隐藏字段并再次提交:

    函数检查确认() { var conf = window.prompt('该组有关联的代理。您确定要删除该组吗?'); document.forms[0].confirmDelete.value = conf; //或者jquery中的等价物 document.forms[0].submit(); //或者jquery中的等价物 }
  2. 然后更改启动脚本以调用(上面的)JS 函数:

    Page page = HttpContext.Current.CurrentHandler as Page; 字符串脚本=“检查确认()”; ScriptManager.RegisterStartupScript(page, page.GetType(), "它的工作", script, true);

© www.soinside.com 2019 - 2024. All rights reserved.