日期:2014-05-19  浏览次数:20459 次

关于弹出提示框的问题~
Response.Write(@ " <script> alert( '***** ') </script> ");
我一向是用这个方式来弹出提示框

但这个方式的缺陷是:
如果在这一句后面加上Page.Response.Redirect( "*****.aspx ");
那么提示框就不会出现,页面直接跳转了。

我想要的是能出现一个提示框,然后我点“确定”,它再跳转

然后,在执行Page.Response.Redirect( "*****.aspx ");时
如果我的当前页面是Anony文件夹下的Login页面,即   Anony/Login.aspx
而我输入Page.Response.Redirect( "Index.aspx ");
则它直接跳转至   Anony/Index.aspx
而我的Index.aspx页面并不在Anony文件夹下
请问要怎么处理呢

每个问题15分,抱歉分不多~


------解决方案--------------------
第一个问题

Response.Write( " <script> window.alert( '密码错误 ');location.href= ' ' </script> ">

------解决方案--------------------
第二个问题

Page.Response.Redirect( "../Index.aspx ");

------解决方案--------------------
学习。。。
------解决方案--------------------
第一个问题:别用“Page.Response.Redirect( "*****.aspx ");”
改用Javascript跳转
Response.Write( " <script> alert( '***** ');location.href= '*****.aspx ' </script> ");
这样的话窗口可以在跳转前弹出

第二个问题你可以采用全路径的办法:
Page.Response.Redirect( "http://***/Index.aspx ");
------解决方案--------------------
同意楼上的...第2个问题,自己看清楚路径是什么.使用~返回根目录
------解决方案--------------------
路径 没必要 非是 "../Index.aspx ");
这个根据自己的虚拟路径来~~
如果还不行的话就就按 jerryfos(想飞)的试试
------解决方案--------------------
第一个问题
C#
/// <summary>
/// 显示消息提示对话框,并进行页面跳转
/// </summary>
/// <param name= "page "> 当前页面指针,一般为this </param>
/// <param name= "msg "> 提示信息 </param>
/// <param name= "url "> 跳转的目标URL </param>
public static void ShowAndRedirect(System.Web.UI.Page page,string msg,string url)
{
StringBuilder Builder=new StringBuilder();
Builder.Append( " <script language= 'javascript ' defer> ");
Builder.AppendFormat( "alert( '{0} '); ",msg);
Builder.AppendFormat( "top.location.href= '{0} ' ",url);
Builder.Append( " </script> ");
page.RegisterStartupScript( "message ",Builder.ToString());

}