asp.net (C#) 这样的弹出确认框?

zpcoder 2008-04-15 02:58:53
protected void btnNext_ServerClick(object sender, EventArgs e)
{
……//先要执行一部分代码必须

//弹出一个确认,取消对话框

if (用户点的是确认)
{
……
}
else
return;
}

如何实现,弹出确认/取消对话框。当点确认运行其它代码,取消后不运行。
...全文
686 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanlihua9988 2011-11-08
  • 打赏
  • 举报
回复
16楼的做法真是太棒了!直接运行通过!解决了多日困扰我的难题!感谢啊!
zpcoder 2008-04-16
  • 打赏
  • 举报
回复
感谢各位同志帮助和参与。

尤其是多谢7楼朋友的提醒。自它提醒后,我已完成。

今天上线发现16,18楼朋友代码提醒,也不胜感激!
dis_liuliu 2008-04-15
  • 打赏
  • 举报
回复

前台:
<body>
<script type="text/javascript">
function A(){
if(window.confirm("sure")){
var a=document.getElementById("hf");
a.value="a";//标记确认过
var b=document.getElementById("btn");
b.click();
}
return false;
}
</script>
<form id="form1" runat="server">
<asp:HiddenField ID="hf" runat="server" />
<asp:TextBox ID="txt" runat="server" ></asp:TextBox><asp:Button ID="btn" runat="server" Text="提交" OnClick="btn_Click" />
</form>
</body>

后台:
protected void btn_Click(object sender, EventArgs e) {
if (this.hf.Value == "a") {
//这里执行确定后的代码
this.hf.Value = "";
return;
}
else {
//先要执行一部分代码必须
Page.RegisterStartupScript(null, "<script type='text/javascript'>A()</script>");
}
}

qingting2016 2008-04-15
  • 打赏
  • 举报
回复
if(confirm("...","....."))
alert("submit");
else
alert("return");
llxchen 2008-04-15
  • 打赏
  • 举报
回复
楼主这个问题的确和普通的Confirm处理有所不同,但也是可以处理的。建议将你的逻辑分离一下,点击了你的按钮的时候,首先执行之前的代码,并给出提示。
通过JS来判断用户选择的是确定还是取消,如果是选择的确定,再执行后面的代码,这中间我通过一个隐藏的Button1来处理这个工作。应该能达到楼主想要的效果。
下面是一个刚写的可以运行的例子
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class UseConfirmSample : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void BT_Submit_Click(object sender, EventArgs e)
{
BeforeConfirmExecuteCode();

string script = @"var b = confirm('是否继续');
if(b)
document.getElementById('Button1').click();
else
alert('选择的是取消')";

Page.ClientScript.RegisterStartupScript(this.GetType(), "", script, true);
}

/// <summary>
/// 点击接钮之后,在弹出提示之前需要执行的代码
/// </summary>
private void BeforeConfirmExecuteCode()
{
Response.Write("这是在弹出确认/取消对话框之前执行的代码");
}

/// <summary>
/// 这是点击确定后继续执行的代码
/// </summary>
protected void OnSelectedConfirmExecuteCode()
{
Response.Write("你选择了确定,继续执行!");
}

protected void Button1_Click(object sender, EventArgs e)
{
OnSelectedConfirmExecuteCode();
}
}

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UseConfirmSample.aspx.cs" Inherits="UseConfirmSample" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="BT_Submit" runat="server" OnClick="BT_Submit_Click" Text="首先点击这个按钮" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" style="display:none" Text="Button" /></div>
</form>
</body>
</html>
qcsnch 2008-04-15
  • 打赏
  • 举报
回复
受不了你们了这个功能用AJAX做不就好了,页面JS判断完了返回到服务器端再回客户端标准的ajax啊
Plife472 2008-04-15
  • 打赏
  • 举报
回复
那单出的层做的不错
zpcoder 2008-04-15
  • 打赏
  • 举报
回复
10楼 我还是没清楚。
现在的问题是 if ()这个括号里的怎么得到返回值。

并在得到之前程序要暂停。得到之后再判断后运行?


12,9,3,1 楼 都搞错了.
我一定要是点了按抟之后.还要执行一部分代码.再弹出来.再判断后分支执行
Jsd_xiaoxiao 2008-04-15
  • 打赏
  • 举报
回复
return confirm 就不能完成这个功能……
如果点了确定……
下面的继续……
如果点取消下面的就不执行……
没有办法用if……else……来判断的……
他是DHTML,是在客户端执行的,如果是判断那就是服务器端的功能了……
蝶恋花雨 2008-04-15
  • 打赏
  • 举报
回复
不好意思给了错误的代码
protected void Button1_Click(object sender, EventArgs e)
{
if (用户点的是确认)
{ …… }
else
{
Response.Write("<script>javascript:window.confirm('确定要删除吗?》');</script>");
return;
}
}
abc83915 2008-04-15
  • 打赏
  • 举报
回复
return confirm就可以达到效果啊
zpcoder 2008-04-15
  • 打赏
  • 举报
回复
好。有道理。请很个DEMO
我好接分 thanks
apollolb2005 2008-04-15
  • 打赏
  • 举报
回复
[Quote=引用楼主 zpcoder 的帖子:]
protected void btnNext_ServerClick(object sender, EventArgs e)
{
……//先要执行一部分代码必须

//弹出一个确认,取消对话框

if (用户点的是确认)
{
……
}
else
return;
}

如何实现,弹出确认/取消对话框。当点确认运行其它代码,取消后不运行。
[/Quote]

这个流程象是winform的

不如用隐藏控件记录操作状态
……//先要执行一部分代码必须
ok -> 设置状态
client的window.onload()里 查状态 打开确认窗口
如果选 取消 则不处理,
选 确认 可以form1.submit(); 或者 btnNext.click();
再次返回服务器端进行下步处理....
youzi520 2008-04-15
  • 打赏
  • 举报
回复
MARK 一下
zpcoder 2008-04-15
  • 打赏
  • 举报
回复
3楼的我会,但不是我想要的。
4楼的return 在函数之外,报错。而且你的这个写法好像缺点我说不出来的东西。
蝶恋花雨 2008-04-15
  • 打赏
  • 举报
回复
if (用户点的是确认)
{
……
}
else
{
response.write("<script>return confirm('要提示的确认信息?');</script>");
response.END(); return;
}
rjkfb 2008-04-15
  • 打赏
  • 举报
回复
在Page_Load事件里添加一行代码即可

btnNext.Attributes["OnClick"]="javascript:return confirm('要提示的确认信息?');";

去掉该事件里的 if....else
protected void btnNext_ServerClick(object sender, EventArgs e)
{
//直接写事件处理程序
}
zpcoder 2008-04-15
  • 打赏
  • 举报
回复
那如何在 C# 中得到confirm的返回值
szh214 2008-04-15
  • 打赏
  • 举报
回复
用js的return confirm不可以么??

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧