最近在用C#写一个web应用程序,有一个地方要弹出一个询问用户是或不是的对话框,然后等待用户响应,根据用户的选择对执行对应的代码.请问这段程序该怎么写?
又或者,c#和javascript可不可以互操作?请dx,xd们帮忙啊

解决方案 »

  1.   

    看看这个
    http://dev.csdn.net/article/68/68404.shtm
      

  2.   

    javascript
    网上找本手册看看吧
      

  3.   

    有一个第三方控件 WebMessageBox 可以满足你
      

  4.   

    可以用window.confirm(),但是想根据用户点击不同的按钮走不同的逻辑很难.
    button.Attributes.Add("onClick","return confirm('ok')")
    这种方法也只能保证用户点了确定执行代码,点了取消什么也不做.
      

  5.   

    MessageBox.show("aa","bb",MessageBoxButton.YesNO)
      

  6.   

    这要用到JS代码,多看看JS就会了。
    Response.Write("<script language=javascript>var rtn=window.confirm('是否删除记录');if(!rtn)window.alert('你选择了取消');else window.alert('你选择了确定');</script>");
      

  7.   

    .net怎么取到javascript的confirm函数的返回值?
    我看,3gold的回复中的方法应该可行,不过还没试
      

  8.   

    不过,zhanqiangz的回复好像也比较可行,
      

  9.   

    b.Attributes.Add("onclick","javascript:return(confirm('Are u sure'))");可以取到返回值
      

  10.   

    同意 prochf(love bcb)
    Response.Write("<script language=javascript>var rtn=window.confirm('是否删除记录');if(!rtn)window.alert('你选择了取消');else window.alert('你选择了确定');</script>");
      

  11.   

    用JS写,论坛里多着呢,
    <a href="javascript:return window.confirm('adf')">ddd</a>
      

  12.   

    昨天下了WebMessageBox这个控件,能达到我的要求,可是也不是很方便
    难道web程,用C#弹出一个定制的MessageBox真的这么难吗?
      

  13.   

    刚才在msdn2005里看到了一篇working with client-side scrip看起来好像有帮助,不过都是e文,正在研读当中
      

  14.   

    要看你在什么地方用到这个功能.
    如果是在按钮或控件上用,那简单的
    Button1.Attributes.Add("onclick","javascript:return confirm('Are you sure?');");
    就可以达到你的要求.confirm弹出的对话框自带2个按钮"ok","cancel".
    如果是事件触发,就比较麻烦了.
    说具体点.
      

  15.   

    搂主明显受.net迷惑了
    直接像 asp,jsp,php一样  confirm可以Page_Load里面加Button1.Attributes.Add("onclick","javascript:return confirm('Are you sure?');");也可以
      

  16.   

    那好,我把问题说具体点(我用的是c#):
    当点击aspx页面上的一个按钮后,要求弹出一个三个按钮(Yes,No,Cancel)的对话框,然后根据用户的选择执行不同的代码,我写一段伪代码吧:
    void button_click()
    {
        string result;
        ret_val = message_box(message, title, button_yes_no_cancel);
        switch(ret_val)
        {
        case yes:
            result = "yes";
            break;
        case no:
            result = "no";
            break;
        case cancel:
            result = "";
        }
        save_result(result);
        return;
    }如以上代码,关键就在这个message_box这里,因为用c#做windows程序时,可以用MessageBox.Show这个功能,但是在web应用程序中是不能用的.网上找了很久,只有上面 wjcking 兄弟说的WebMessageBox算是成功的,不过,由于是已经编译好的dll,所以用起来比较不放心哪位大侠可以有源码提供.ps:javascript的confirm太简单了,达不到我的要求
      

  17.   

    自己写一个啊,又不是很麻烦
    写好之后用window.open()打开那个页面就好了
      

  18.   

    if (MessageBox.Show("nihao ","ceshi",MessageBoxButtons.YesNo)==DialogResult.Yes)
    do something;
    这种方法就可以的。
      

  19.   

    二楼的哥哥,那个挺好,但是有个问题 ViewStateBag 是什么类,他在那个命名空间下
      

  20.   

    stty,在web应用程序中,那是不行的,那样的写法只能用在windows应用程序中用window.open()的话,如果是在maxthon等多tab浏览器中,也是不行的.msdn里面也找了文章,也是做成web控件,但是这些控件和以上的程序逻辑顺序不一样真是头大啊
      

  21.   

    有一个很麻烦的思想.......先隐藏一个DIV,一点就出来(出来的时候把整个页面消失或者不给点),里面放二个是,不是的字。点击再进行操作
      

  22.   

    这个DIV的内容可以随便你怎么搞了,可以用CSS搞成很象对话框的样子。不过一个页面还好搞,一个系统都要就要复杂很多。还不如用confirm......稳定些。
      

  23.   

    觉得你肯定要使用另一个页面,或者做一个通用的确认控件来实现了.
    因为肯定需要一些其他表单数据才能进行流程.这些数据需要在保存在页面上的.我以前遇到这种情况,大多数找方法绕过去.
    想直接使用JS好像不太显示,即便实现了代价也很大,通用性也会受到限制.举个例子:你的需求就像常用的删除按钮一样,删除时需要用户确认,常用的做法都是使用confirm.
    这段js都是直接放在页面上的.如果你想在处理逻辑过程当中使用的话,confirm就不行了.
      

  24.   

    如果可以的话,最好发页面和代码过来看看.看看能不能使用其他方法.
    kirc(at)yeah.net
      

  25.   

    三个按钮:MessageBox.Show("words","caution",MessageBoxButtons.YesNoCancel)//是,否,取消
    或者MessageBox.Show("words","caution",MessageBoxButtons.AbortRetryIgnore)//终止,重试,忽略
      

  26.   

    网上有很多收费的webmessagebox的web控件,看来这个问题做web控件是最好的方法了多谢大家回贴