您的位置:首页 > 其它

response跳转页面前弹出alert提示框分析及常见的弹出框使用

2017-09-08 16:19 1621 查看


如何在Response.Redirect前弹出alert对话框

  我曾遇到这样的问题,代码如下:

  Response.Write   ("<script   language=javascript>alert('订阅成功,请确认手记号码!');</script>");   

  Response.Redirect("personalInfo.aspx");   

    

  结果发现Response.Write   ("<script   language=javascript>alert('订阅成功,请确认手记号码!');</script>");没执行就进行了Redirect,即没有弹出对话框就直接转到另一页去了   

      如何解决这个问题,我在网上查了一下,原因是 Redirect   方法是服务器端方法,而   alert()   是客户端方法,Redirect   由于在服务器端无法判断客户端的 alert 是否已经执行。   

    可以这样:   

    Response.Write   ("<script   language=javascript>alert('......');window.location='Login.aspx'</script>");

     这种方法对于普通的asp.net也许可以,但是我使用的是DNN,我试了一下不行,,它的页面都是tabid等于多少来表示哪个页面的,比如"**/tabid/56/Default.aspx"

所以我最终的解决方法是:

Dim altstr As String = ""

altstr = "恭喜您!订阅成功!\n" + "您的手机号是:" + UserInfo.Profile.Unit + "请确认以便接受订阅信息!"

Dim jsString As String = ""

                    jsString = String.Format("<script> alert('{0}');window.location='{1}'</script>", altstr, NavigateURL(PortalSettings.UserTabId))
                 Me.Response.Write(jsString)

       经过实践,完全成功!



asp.net弹出对话框的问题

在编写web程序时,有时候我们希望程序在运行时,能弹出提示对话框,比如告诉用户注册已经成功或者失败,或者一些错误操作的提示和修改信息时的确认提示。

在window程序中,我们可以用MessageBox.show("......")来实现这些功能,可是在asp.net程序中却不能这么做,这时,一个较好的方法就是插入javascript脚本语言来实现

       在javascript脚本语言中有三种方式的对话框:

1:alert ,也就是对用户的操作作一些提示,它是一个只带有“确定”按钮的模式对话    框。       

         在asp.net中可以这样用:Response.Write("<script>alert('对话框上提示的内容')</script>");

2:confirm,一般用于确认,返回 true 或者 false ,所以可以轻松用于 if...else...判断

 它是一个带有“确定”按钮和“取消”按钮的模式对话框。这种对话框在有的场合非常重要,它可以给用户两种选择。

         在asp.net中这种对话框有两种添加的方法:我用的两种方法都是通过给按钮添加属性来实现的,因为在我应用的时候,都是对用户点击了某个按钮后给出确认提示。

      一种方法是:在Page_Load()事件中,给希望给出确认提示的按钮增加属性:

                    Button.Attributes.Add("onclick","return getconfirm();");

        然后打开这个页面所对应的.ascx文件,切换到html,在其中添加以下代码:

                          <script>

                      function getconfirm()

                      {

                         if (confirm("你要执行这个操作吗?")==true) 

                             return true;

                          else

                              return false; 

                        }

                    </script>

           第二种方法是:在Page_Load()事件中,给希望给出确认提示的按钮增加属性:

              Button.Attributes.Add("onclick", "return confirm('你要执行这个操作吗?');");

3: promote,一个带输入的对话框,可以返回用户填入的字符串,常见于某些留言本或者论坛输入内容那里的 插入UBB格式图片 ,这种对话框在asp.net中较少用到。

下面给大家介绍几种比较常见的js实现页面跳转的方式

第一种:

1
2
3
<script language=
"javascript"
 
type=
"text/javascript"
>

window.location.href=
"login.jsp?backurl="
+window.
4000
location.href;

</script>


第二种:

1
2
3
4
<script language=
"javascript"
>

alert(
"返回"
);

window.history.back(-1);

</script>


第三种:

1
2
3
<script language=
"javascript"
>

window.navigate(
"top.jsp"
);

</script>


第四种:

1
2
3
<script language=
"JavaScript"
>

self.location=
'top.htm'
;

</script>


第五种:

1
2
3
4
<script language=
"javascript"
>

alert(
"非法访问!"
);

top.location=
'xx.jsp'
;

</script>


接着给大家介绍js使用弹出窗口实现页面跳转的几种方式

———————————————————————————————————

第一种:弹出选择框跳转到其他页面

1
2
3
4
5
6
7
8
9
10
<script language=
"javascript"
>

<!--

function
 
logout(){

if
 
(confirm(
"你确定要注销身份吗?是-选择确定,否-选择取消"
))...{

window.location.href=
"/logout.asp?act=logout"

}

}

-->

</script>

<input type=
"button"
 
onclick=
"logout()"
 
value=
"注销"
/>


第二种:弹出提示框跳转到其他页面

1
2
3
4
5
6
7
8
9
<script language=
"javascript"
>

<!--

function
 
logout(){

alert(
"你确定要注销身份吗?"
);

window.location.href=
"/logout.asp?act=logout"

}

-->

</script>

<input type=
"button"
 
onclick=
"logout()"
 
value=
"注销"
/>


页面自动跳转到其他页面

———————————————————————————————————

只需要在页面加入一行代码

1
<meta http-equiv=
"Refresh"
 
content=
"5; url=http://www.codepub.com"
 
/>


其中,content="5; url=http://www.codepub.com"中的5表示5秒后跳转,可以直接设置为0

该代码多用于用户登陆时的页面跳转

把 onClick="windows.open("Submit.html")"

改成

1
2
onClick=
"window.location.reload('Submit.html');"

window.open(
'Submit.html'
)


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: