C#编写WEB弹出Yes No 交互对话框

条件:在Button按钮Buttun9中根据某个条件,弹出提示框,如果点了否,就不做任何事,如果点了是,就进行某些操作。    界面上放一个Literal控件

功能:在C#的按钮代码中执行一段代码后,弹出对话框,按用户选择是否执行下一段代码
缺点:1、对于事务处理需要特别处理,因为此方法会对按钮执行两次。  同时以前执行的代码会被再次执行。但对多数情况来说,可以用一些方法回避再次执行的不良后果。
      2、界面上不得不放一个Literal控件
      3、函数调用只能在可以取得Page的地方。
按钮事件:   
protected void Button9_Click(object sender, EventArgs e)   
    {   
        int nre = funMsgBoxCallBack(Page, Button9.ID, Literal1, "你确定要修改吗?不改不要乱点");   
        if (nre == 0 || nre==-1) return;   
        if (nre == 1)   
        {   
            txtMsgBox.Text = TextBox4.Text;   
        }   
    }   
函数:   
/// <summary>   
    /// 过程间转递参数,提示 MsgBox 对话框   
    /// 编写:yuiee  
    /// </summary>   
    /// <param name="pageTmp">pageTmp 调用此函数的页面Page</param>   
    /// <param name="sButtonName">页面上执行事件的Button的ID名称(注意一定不能写成ClientID),必须是Button</param>   
    /// <param name="Literal1">页面上放的一个Literal控件,要保证使用的唯一性</param>   
    /// <param name="sMsg">提示的文字内容。</param>   
    /// <returns>0为点了取消,1为点了确定,-1为什么也没点,CallBack回调</returns>   
    public static int funMsgBoxCallBack(Page pageTmp,string sButtonName, Literal Literal1,string sMsg)   
    {   
        string mm = pageTmp.Request.Form["txtMsgBoxBack"];   
        string sm = "";   
        if (mm == null) sm = ""; else sm = mm;   
        if(sm=="")   
        {   
            Literal1.Text = "<input id='txtMsgBoxBack' name='txtMsgBoxBack' type='hidden' value='' />";   
            clsBase.funRegStartUpScript(pageTmp, pageTmp.GetType(), "funMsgBox('" + sButtonName + "','txtMsgBoxBack','" + sMsg + "');");   
            return -1;   
        }   
        Literal1.Text = "";   
        if (mm == null) return 0;   

        if (mm == "0")   
        {   
            return 1;   
        }   
        else   
        {   
            return 0;   
        }   
    }   
/// <summary> 
    /// 函数名:funRegStartUpScript 
    /// 功描述能:在客户端注册启动脚本 
    /// 函数返回值: 
    /// 初编人员:yuiee 
    /// 初编时间:2007-9-8 19:27:04 
    /// </summary> 
    /// <param name="sScript">无Script的脚本内容</param> 
    public static void funRegStartUpScript(Page pageTmp,Type cstype,string sScript) 
    {   ClientScriptManager cs = pageTmp.ClientScript; 
        String csname2 = "PopupScript"; 
        if (!cs.IsStartupScriptRegistered(cstype, csname2)) 
        { 
            string cstext2 = sScript; //; 
            cs.RegisterStartupScript(cstype, csname2, cstext2, true); 
        } 
    } 
javascript 代码   
function funMsgBox(sButtonName,sTxtClientName,sMsg)   
{   
    if(confirm(sMsg))   
    {   
        var mm=document.getElementById(sTxtClientName);   
        mm.value="0";   
        funButtonClick(sButtonName);   
        return true;   
    }   
    else   
    {   
        return false;   
    }   
}   
function funButtonClick(buttonID)   
{   
    //按ButtonID为名字查找button,找到后启动click事件   
    var srry;   
    var sre;   
    var bre;   
    bre=1;   
    var sTmp;   
    var sTmp1;   
    var lPos;   
    for(i=0;i<document.all.length;i++)   
    {   
            sTmp=document.all(i).name;   
            if(sTmp!=null)   
            {   
                sTmp=sTmp.toUpperCase();   
                lPos=sTmp.indexOf(buttonID.toUpperCase());   
                if(lPos!=-1)   
                {   
                    document.all(i).click();   
                }   
            }   
     }            
    
       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值