我一直试图解决这个问题几天但没有运气...... 两个简单的页面之一是asp.asp
<html>
<head>
<meta http-equiv="expires" content="-1">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate, post-check=0, pre-check=0">
</head>
<body>
<%
response.write("KABOOM!")
Response.Redirect ("http://boom.com:9800/login/aspx.aspx")
%>
</body>
</html>
另一个是aspx.aspx:
<%@ Page Language="C#" %>
<%@ import Namespace="System.IO" %>
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Write("Page2 loaded !!!! ");
}
</script>
无法重定向显示:
我无法理解有什么不对。有人可以向我解释为什么它不重定向,它应该重定向吗?可能是我做错了什么(我之前没有使用过asp或asp.net,所以绝对可能......)
由于
答案 0 :(得分:4)
您可以检查您是否已经在同一页面上 - 如果是,不是重定向,这是一个例子:
if(!HttpContext.Current.Request.Path.EndsWith("aspx.aspx", StringComparison.InvariantCultureIgnoreCase))
Response.Redirect("aspx.aspx");
现在在经典的asp上,重定向完成为:
Response.Status="301 Moved Permanently"
Response.AddHeader "Location","http://example.com/page.aspx"
Response.End
有一种情况,因为你有登录页面,一个无权点击重定向循环的用户,因为你不允许他自己查看登录页面。登录页面必须对公众开放。
关于你如何做到这一点,请阅读Allow access for unathenticated users to specific page using ASP.Net Forms Authentication