将浏览器重定向到带有ASPX页面的新页面需要什么代码?
我已经在我的页面default.aspx上尝试过此操作:
<% Response.Redirect("new.aspx", true); %>
要么
<%@ Response.Redirect("new.aspx", true); %>
并且这些导致未确定的服务器错误。我看不到错误代码;因为服务器不在我的控制范围内,并且错误不公开。
请提供从页面第1行到末尾所有必要的代码,我将非常感谢。
Answers:
<%@ Page Language="C#" %>
<script runat="server">
protected override void OnLoad(EventArgs e)
{
Response.Redirect("new.aspx");
}
</script>
base.OnLoad吗?
OnLoad方法时将其插入。没有它,它似乎也可以正常工作。
您也可以使用meta标记在html中实现此功能:
<html>
<head>
<meta http-equiv="refresh" content="0;url=new.aspx" />
</head>
<body>
</body>
</html>
达林的答案很棒。它创建一个302重定向。这是修改后的代码,以便创建永久的301重定向:
<%@ Page Language="C#" %>
<script runat="server">
protected override void OnLoad(EventArgs e)
{
Response.RedirectPermanent("new.aspx");
base.OnLoad(e);
}
</script>
或者,您可以使用javascript重定向到另一个页面:
<script type="text/javascript">
function toRedirect() {
window.location.href="new.aspx";
}
</script>
toRedirect()从客户端(例如:body标签的onload事件)或使用以下命令从服务器调用此函数:
ClientScript.RegisterStartupScript(this.gettype(),"Redirect","toRedirect()",true);
base.OnLoad(e);后Response.Redirect(..)?