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

标签 asp.net gridview imagebutton scriptmanager confirm

ImageButton 上有两个确认框 - 第一个是常规框,上面写着“您确定要删除它吗?” (即来自客户端的 OnClientClick 事件)。如果选择"is",则它进入服务器端代码,在那里进行另一次检查,如果该检查为真,则使用 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);

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

有什么建议?

最佳答案

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

在表单上,​​您可以添加一个隐藏字段来保存第二次确认的结果。如果隐藏字段被命名为“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);

关于asp.net - 后面代码中ScriptManager.RegisterStartupScript确认框的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243056/

相关文章:

asp.net - Gridview Linkbutton 代码隐藏

asp.net - 为什么更新面板中的 yui 数据表在回发后消失?

android - GridView 请停止滚动...请适合父布局

android - ImageButton 更改 src

C#:lock 语句中的回调函数是否也被锁定?

c# - 如何使 CalendarExtender StartDate 属性采用当前日期?

Android GridVIew 根据方向更改列数

asp.net - 数据在 Gridview (ASP.NET) 中显示两次

android - 我如何将 ImageButton 设置为仅在我的手指触摸它时更改

c# - Asp 图像按钮图像未更改