100分求asp.net 弹出msgbox 对话框返回是与否两个值。

zhuxianzhu 2008-12-09 04:47:20
100分求asp.net 弹出msgbox 对话框返回是与否两个值。

完全服务器端执行,只要弹出一个对话框,上面有确定和取消,返回Y和N

msgbox("执行程序1请按是,执行程序2请按否")

string a =msgbox("执行程序1请按是,执行程序2请按否")

if (a="Y" )
{
执行fuction1

}
if (a="N" )
{

执行fuction2
}

有谁能写一个类实现msgbox("执行程序1请按是,执行程序2请按否")返回两个值???
不要用js和div。
...全文
336 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
空空空 2008-12-10
  • 打赏
  • 举报
回复
用JavaScript
confirm
greatverve 2008-12-10
  • 打赏
  • 举报
回复
不用js用什么?如果不让用,那是有问题。
zhnzzy 2008-12-10
  • 打赏
  • 举报
回复
ASP.NET本来就是受限的程序,既然是B/S,就是客户端和服务器端交互的。不可能都在服务器端完事的
qqhahazxxqq 2008-12-10
  • 打赏
  • 举报
回复
整好要用到 谢谢
冷月孤峰 2008-12-10
  • 打赏
  • 举报
回复
不用JS那用什么?即使是封装成控件,那也是用JS拼接而成的
zhuxianzhu 2008-12-09
  • 打赏
  • 举报
回复
写成一个类,用js才行
mengxj85 2008-12-09
  • 打赏
  • 举报
回复
不用JS和Div,那就自己定义一个吧,用一个Web窗体来做,想做成什么样都行
空心兜兜 2008-12-09
  • 打赏
  • 举报
回复
关注下
zzxap 2008-12-09
  • 打赏
  • 举报
回复
返回 是与否?
fuzijing 2008-12-09
  • 打赏
  • 举报
回复
...
walkghost 2008-12-09
  • 打赏
  • 举报
回复
在pageload里为控件添加属性。控件.Attributes.Add("onclick", "return confirm(\"Are you sure?\");");

下面的代码可以看到效果,如果你选择取消的话,就不会执行后台代码。

//前台拖一个按钮。
using System;
using System.Data;
using System.Configuration;
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 _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Button1.Attributes.Add("onclick", "return confirm(\"Are you Sure?\");");
}
protected void Button1_Click(object sender, EventArgs e)
{

Response.Write("This means that you choose OK!");
}
}




zzxap 2008-12-09
  • 打赏
  • 举报
回复
这个类只能弹出消息,不能返回值,不过高手们可以改造一下,获取返回值
调用 show("信息")

using System;
using Microsoft.VisualBasic;
using System.Text;
using System.Collections;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;


namespace TestWebMsgApp
{
public class WebMsgBox
{
protected static Hashtable handlerPages = new Hashtable();
private WebMsgBox()
{
}

public static void Show(string Message)
{
if (!(handlerPages.Contains(HttpContext.Current.Handler)))
{
Page currentPage = (Page)HttpContext.Current.Handler;
if (!((currentPage == null)))
{
Queue messageQueue = new Queue();
messageQueue.Enqueue(Message);
handlerPages.Add(HttpContext.Current.Handler, messageQueue);
currentPage.Unload += new EventHandler(CurrentPageUnload);
}
}
else
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
queue.Enqueue(Message);
}
}

private static void CurrentPageUnload(object sender, EventArgs e)
{
Queue queue = ((Queue)(handlerPages[HttpContext.Current.Handler]));
if (queue != null)
{
StringBuilder builder = new StringBuilder();
int iMsgCount = queue.Count;
builder.Append("<script language='javascript'>");
string sMsg;
while ((iMsgCount > 0))
{
iMsgCount = iMsgCount - 1;
sMsg = System.Convert.ToString(queue.Dequeue());
sMsg = sMsg.Replace("\"", "'");
builder.Append("alert( \"" + sMsg + "\" );");
}
builder.Append("</script>");
handlerPages.Remove(HttpContext.Current.Handler);
HttpContext.Current.Response.Write(builder.ToString());
}
}
}

}

jfd198512 2008-12-09
  • 打赏
  • 举报
回复
学习!
jfd198512 2008-12-09
  • 打赏
  • 举报
回复
学习! LZ
Tiger_ldy 2008-12-09
  • 打赏
  • 举报
回复
<SCRIPT LANGUAGE="JavaScript">
<!--
execScript('msgbox("vbscript msgbox")',"vbscript")
//-->
</SCRIPT>

本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/discuss/12/060329/14/406320_1.html
wuyq11 2008-12-09
  • 打赏
  • 举报
回复
不用JS,就弹出页面,实现传值判断。
kuangshengfeng 2008-12-09
  • 打赏
  • 举报
回复

Response.Write("<script>alert('hello!');</script>");


Button1.Attributes.Add("onclick", "if(confirm('是否真的要删除?')){document.getElementById('Hidden1').value='你要返回的值'}else{return false;}");


button1.attributes.add("onclick","alert('提示框');")


Response.Write("<script>alert('hello!');</script>");


Button1.Attributes.Add("onclick", "if(confirm('是否真的要删除?')){document.getElementById('Hidden1').value='你要返回的值'}else{return false;}");

btn.Attributes.Add("onclick","return confirm(\"Make Sure You Want to Delete?\")");
如果是true的话,执行删除。否则不删除


private void CustomerDataGrid_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
case ListItemType.EditItem:
{
Button btn = (Button)e.Item.FindControl("btnDelete");
btn.Attributes.Add("onclick", "return confirm('你是否确定给该用户发货');");
break;
}
}
}
criedshy 2008-12-09
  • 打赏
  • 举报
回复
在HTML中添加两个按钮

<asp:Button id="button1" style="display:none" OnClick="button1_Click" runat="server"/> 
<asp:Button id="button2" style="display:none" OnClick="button2_Click" runat="server"/>
给btnAdd添加客户端事件:

btnAdd.Attributes.Add("onclick","add_click()");

//将要执行的两段代码写在两个隐藏的button事件中,以便后台调用
//弹出对话框
//如果选是,执行一段代码

protected void button1_Click(object sender, EventArgs e)
{
......
}
//如果选否,执行另一段代码
//
//else 跳出
protected void button2_Click(object sender, EventArgs e)
{
......
}


客户端事件:

function add_click()
{
if(confirm("你要添加吗"))
{
document.getElementById("button1").click();
}
else
{
document.getElementById("button2").click();
}
}
criedshy 2008-12-09
  • 打赏
  • 举报
回复
肯定要用JS的,你可以灵活处理的
js可以调用后台按钮单击事件
wszhoho 2008-12-09
  • 打赏
  • 举报
回复
这个效果只能用js来实现,页面发送到客户端以后,根据客户端的选择来执行相应的服务端代码,这个可以在点击是的时候跳转到处理页,或者异步发送命令,即ajax
你的思路有问题,不可能按照流程执行的同时又接收客户端指令。
cs文件:
Response.Write("<script>if(window.confirm('执行程序1请按是,执行程序2请按否'))doEvent();</script>");

aspx页面:
<script>
function doEvent(){
//ajax方法或者跳转到处理页
}
</script>
加载更多回复(4)

62,268

社区成员

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

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

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

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