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

时间:2015-05-14 16:59:47

标签: asp.net gridview imagebutton scriptmanager confirm

ImageButton上有两个确认框 - 第一个是常规框,说“你确定要删除吗?” (来自客户端的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); 从后面的代码中显示第二个确认框。

user.id

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

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

用户确认删除后(第2次),您需要进行第二次往返服务器以传递值服务器端。

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

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

<script language="javascript">
function CheckConfirm() {
   var conf = window.prompt('There are Agents associated to this group. Are you sure you want to delete this group?');
   document.forms[0].confirmDelete.value = conf; //or equiv in jquery
   document.forms[0].submit();  //or equiv in jquery
}
</script>
<!-- don't forget to have a hidden field inside of the form -->
<input type="hidden" name="confirmDelete" />

2)然后更改启动脚本以调用(上面)JS函数:

Page page = HttpContext.Current.CurrentHandler as Page;
string script = "CheckConfirm()";
ScriptManager.RegisterStartupScript(page, page.GetType(), "its working", script, true);