页面上有个<asp:Button ID="btnShowMess" Text="弹出提示框" runat="server" OnClick="btnShowMess_Click" />
后台代码
public void btnShowMess_Click(object sender, EventArgs e)
    {
        //.......
    }
要求在页面上弹出一个提示框,页面不刷新。
ClientScript.RegisterStartupScript(GetType(), "", "alert('提示');", true); 
Response.Write("<script>alert('提示');history.go(-1);</script>");
按钮.Attributes. ...
调用前台JS
统统试过不行。
分不多了,30分裸发,谢谢大大们了,结束我纠结的日子吧。

解决方案 »

  1.   

    前台弹出框可以两个选择,1不回发,2回发,
    如confirm
      

  2.   


    我要用asp控件提交数据,出错时前台弹出提示,这种情况下,不是仅仅用前台的一个JS
      

  3.   

    PageAlert.ClientScript.RegisterStartupScript(PageAlert.GetType(), "", strJS);我感觉这个行, 虽然也有刷新的.  但是基本看不出来.  我就用这个,  
    Response.Write 这个肯定是要刷新的.
    Attributes ,  这个可以.  他应该不刷新, 让他调用前台JS.  还有一个办法 就是, 走事前前 先走前台判断下.  写法下面
    onsubmit="CheckData();  写在前台from  意思说所有buteen 安扭都走这个方法, 然后你判断
    function CheckData()
    {     // Button2 按纽ID名
    if(document.activeElement.id== "Button2")
    {
                                                    document.all("txtLoginID").focus();
    alert("用户名不能为空,请重新输入!");
    event.returnValue=false; //结束事件
    return; //停下
                              }}
      

  4.   

    首先设置调用js:
    <asp:Button ID="btnShowMess" Text="弹出提示框" runat="server" OnClientClick="return test()" />在页面加一个Button隐藏之,用于在弹出框上按确定时执行的后台代码,代码:
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="Button"  style="display:none;" />js:
        <script type="text/javascript">
            function test() {
                if (confirm("是否"))
                    document.getElementById("Button2").click();//执行Button2_Click事件下
                else 
                    return false;//不回发      
            }
        </script>
      

  5.   


    UpdatePanel的话我就不用了,这地方不适合。至于aJax方法我坦言真的不会,百度、谷歌也没找到例子,就差问警察叔叔了。谢谢你了O(∩_∩)O~
      

  6.   

    如果这个错误必须访问后台才能获得,那只能用AJAX局部刷新,骗骗眼睛哦!!
      

  7.   

    下面是我找的弹出DIV的方法。但是它用的是客户端控件,我在后台提交数据出问题时,也不知道如何调用使页面不刷新。
    <html>
    <head>
        <title></title>    <script type="text/javascript" language="javascript"> 
            function sAlert(str){   
            var msgw,msgh,bordercolor;   
            msgw=400;//提示窗口的宽度   
            msgh=100;//提示窗口的高度   
            titleheight=25 //提示窗口标题高度   
            bordercolor="#c51100";//提示窗口的边框颜色   
            titlecolor="#c51100";//提示窗口的标题颜色   
            var sWidth,sHeight;   
            sWidth=screen.width;   
            sHeight=screen.height;   
            var bgObj=document.createElement("div");   
            bgObj.setAttribute('id','bgDiv');   
            bgObj.style.position="absolute";   
            bgObj.style.top="0";   
            bgObj.style.background="#cccccc";   
            bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";   
            bgObj.style.opacity="0.6";   
            bgObj.style.left="0";   
            bgObj.style.width=sWidth + "px";   
            bgObj.style.height=sHeight + "px";   
            bgObj.style.zIndex = "10000";   
            document.body.appendChild(bgObj);   
            //建的新层 
            var msgObj=document.createElement("div")   
            msgObj.setAttribute("id","msgDiv");   
            msgObj.setAttribute("align","center");   
            msgObj.style.background="white";   
            msgObj.style.border="1px solid " + bordercolor;   
            msgObj.style.position = "absolute";   
            msgObj.style.left = "50%";   
            msgObj.style.top = "50%";   
            msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";   
            msgObj.style.marginLeft = "-225px" ;   
            msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";   
            msgObj.style.width = msgw + "px";   
            msgObj.style.height =msgh + "px";   
            msgObj.style.textAlign = "center";   
            msgObj.style.lineHeight ="25px";   
            msgObj.style.zIndex = "10001";   
            //右上角的关闭按钮 
            var title=document.createElement("h4");   
            title.setAttribute("id","msgTitle");   
            title.setAttribute("align","right");   
            title.style.margin="0";   
            title.style.padding="3px";   
            title.style.background=bordercolor;   
            title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";   
            title.style.opacity="0.75";   
            title.style.border="1px solid " + bordercolor;   
            title.style.height="18px";   
            title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";   
            title.style.color="white";   
            title.style.cursor="pointer";   
            title.innerHTML="关闭";   
            title.onclick=function(){   
            document.body.removeChild(bgObj);   
            document.getElementById("msgDiv").removeChild(title);   
            document.body.removeChild(msgObj);   
            }
            document.body.appendChild(msgObj);   
            document.getElementById("msgDiv").appendChild(title);   
            var txt=document.createElement("p");   
            txt.style.margin="1em 0" 
            txt.setAttribute("id","msgTxt");   
            txt.innerHTML=str;   
            document.getElementById("msgDiv").appendChild(txt);   
            }   
        </script></head>
    <body>
        <br />
        <br />
        <input type="button" value="点击这里" onclick="sAlert('test弹窗效果');" />
    </body>
    </html>
      

  8.   

    <html>
    <head>
        <title></title>
        <script type="text/javascript" language="javascript"> 
            function sAlert(str){   
            var msgw,msgh,bordercolor;   
            msgw=400;//提示窗口的宽度   
            msgh=100;//提示窗口的高度   
            titleheight=25 //提示窗口标题高度   
            bordercolor="#c51100";//提示窗口的边框颜色   
            titlecolor="#c51100";//提示窗口的标题颜色   
            var sWidth,sHeight;   
            sWidth=screen.width;   
            sHeight=screen.height;   
            var bgObj=document.createElement("div");   
            bgObj.setAttribute('id','bgDiv');   
            bgObj.style.position="absolute";   
            bgObj.style.top="0";   
            bgObj.style.background="#cccccc";   
            bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";   
            bgObj.style.opacity="0.6";   
            bgObj.style.left="0";   
            bgObj.style.width=sWidth + "px";   
            bgObj.style.height=sHeight + "px";   
            bgObj.style.zIndex = "10000";   
            document.body.appendChild(bgObj);   
            //建的新层 
            var msgObj=document.createElement("div")   
            msgObj.setAttribute("id","msgDiv");   
            msgObj.setAttribute("align","center");   
            msgObj.style.background="white";   
            msgObj.style.border="1px solid " + bordercolor;   
            msgObj.style.position = "absolute";   
            msgObj.style.left = "50%";   
            msgObj.style.top = "50%";   
            msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";   
            msgObj.style.marginLeft = "-225px" ;   
            msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";   
            msgObj.style.width = msgw + "px";   
            msgObj.style.height =msgh + "px";   
            msgObj.style.textAlign = "center";   
            msgObj.style.lineHeight ="25px";   
            msgObj.style.zIndex = "10001";   
            //右上角的关闭按钮 
            var title=document.createElement("h4");   
            title.setAttribute("id","msgTitle");   
            title.setAttribute("align","right");   
            title.style.margin="0";   
            title.style.padding="3px";   
            title.style.background=bordercolor;   
            title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";   
            title.style.opacity="0.75";   
            title.style.border="1px solid " + bordercolor;   
            title.style.height="18px";   
            title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";   
            title.style.color="white";   
            title.style.cursor="pointer";   
            title.innerHTML="关闭";   
            title.onclick=function(){   
            document.body.removeChild(bgObj);   
            document.getElementById("msgDiv").removeChild(title);   
            document.body.removeChild(msgObj);   
            }
            document.body.appendChild(msgObj);   
            document.getElementById("msgDiv").appendChild(title);   
            var txt=document.createElement("p");   
            txt.style.margin="1em 0" 
            txt.setAttribute("id","msgTxt");   
            txt.innerHTML=str;   
            document.getElementById("msgDiv").appendChild(txt);   
            }   
        </script></head>
    <body>
        <br />
        <br />
        <input type="button" value="点击这里" onclick="sAlert('test弹窗效果');" />
    </body>
    </html>
      

  9.   


            public static void Alert(string msg, Page webPage)
            {
                string strScript = "";
                strScript = ("<script language=javascript>");
                strScript += ("alert('" + MessageCue + "');");
                strScript += ("</script>");
                webPage.ClientScript.RegisterStartupScript(webPage.GetType(), "MsgBox", strScript)
            }
      

  10.   

    10楼的方法,如果要用后台获得数据的话,根据.net的页面回发机制,还是会刷新的。建议楼主用Ajax框架中的UpdatePanel。
      

  11.   

    兄弟别纠结了,既然是必须要通过后台获得的错误,则肯定要刷新页面,
    上AJAX骗眼睛吧!
    O(∩_∩)O~
      

  12.   

    说到你这个方法我就想说了,我以前从一个dll里面挖出来一个方法,用的就是你这样子,确实是无刷新的提示,可是我引用出现错误提示,为实例化对象,可是我明明实例化过。奇怪的很,
      

  13.   

    上AJAX骗眼睛吧!
    O(∩_∩)O~
      

  14.   


     一定要学会使用 ajax 才行啊。
      

  15.   

    lz不行的,在后台验证在判断,这种情况只能用ajax了
      

  16.   

    谢谢各位了,谢谢大牛,晚上回去整aJax
      

  17.   

    LZ啊,你说你没分了,把帖子结完了,就可以赚点回来了额~~
    [align=center]********************************************************
    本内容用 CSDN小秘书 回复
    每天回帖即可获得10分可用分!
    ********************************************************
    [/align]
      

  18.   

    ajax吧
    看下教程
    可以直接通过ajax调用后台的方法,一切就OK了啊
      

  19.   

    页面是可以回调的..不用刷新..但这样做还不如用ajax回调要让页面实现接口:ICallbackEventHandler具体的也不多说了..
      

  20.   

    LZ啊,你说你没分了,把帖子结完了,就可以赚点回来了额~~********************************************************
    本内容用 CSDN小秘书 回复
    每天回帖即可获得10分可用分!
    ********************************************************
    真的假的呀。饿
      

  21.   

    如何在.net后台判断之后,引用Ajax弹出对话框,选择是否继续?