我想重定向到新页面,但我想显示一条消息并且等待时间很短,以便用户可以阅读:
我知道我可以这样做:
<script runat="server">
protected override void OnLoad(EventArgs e)
{
Response.Redirect("new.aspx");
base.OnLoad(e);
}
</script>
但是如何显示消息并等待?
感谢。
答案 0 :(得分:2)
您可以使用meta refresh在html中执行此操作,而不是使用服务器端代码:
<html>
<head>
<title> Redirect </title>
<meta http-equiv="refresh" content="60;URL='http://foo/new.aspx'"/>
</head>
<body>
<p>You will be redirected in 60 seconds</p>
</body>
</html>
您可以将content
标记的meta
属性中的60更改为您希望用户等待的秒数。
答案 1 :(得分:0)
您可以使用客户端技术,例如元标记
<HTML>
<HEAD>
<!-- Send users to the new location. -->
<TITLE>redirect</TITLE>
<META HTTP-EQUIV="refresh"
CONTENT="10;URL=http://<URL>">
</HEAD>
<BODY>
[Your message here]
</BODY>
</HTML>
答案 2 :(得分:0)
您是否尝试过使用元刷新代码?
可以在此处找到文档:http://en.wikipedia.org/wiki/Meta_refresh
基本上,您在HTML的<head/>
部分放置元刷新标记,并指定等待时间和URL。
e.g。
<meta http-equiv="refresh" content="15;URL='http://www.something.com/page2.html'">
在上面的示例中,页面将等待15秒,然后重定向到http://www.something.com/page2.html
。
因此,您可以创建一个包含您的消息的页面,并在其标题中添加元刷新。在设定的一段时间后,它将“刷新”到new.aspx。
e.g。
<html>
<head>
<title>Redirecting</title>
<meta http-equiv="refresh" content="15;URL='new.aspx'">
</head>
<body>
<p>Thanks for visiting our site, you're about to be redirect to our next page. In the meantime, here's an interesting fact....</p>
</body>
</html>
答案 3 :(得分:0)
您可以传递消息和在查询字符串中等待的时间
Response.Redirect("new.aspx?Message=Your_Message&Time=3000")
在new.aspx的Page_Load中,您可以捕获参数
string msg = Request["Message"]
string time = Request["Time"]
您需要用户等待x秒才能看到该消息吗? 如果是的话,你需要通过javascript来完成。
首先,创建一个javascript函数来显示消息
function ShowMessage(msg) {
alert(msg);
}
然后,在new.aspx的代码后面,获取参数并调用javascript函数
protected void Page_Load(object sender, EventArgs e)
{
string msg = Request["Message"].ToString();
string tempo = Request["Time"].ToString();
string script = String.Format(@"setTimeout(""ShowMessage('{0}')"", {1})", msg, tempo);
ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "key", script, true);
}
它将在3秒后显示消息。