在使用ASP.NET应用程序时,我偶尔会遇到链接到Visual Studio页面的问题。
我创建了指向页面的链接,但它们总是重定向到默认页面(Default.aspx)
我的Login.aspx
页面与ForgotPassword.aspx
相同的文件夹我创建了这样的链接
<asp:HyperLink ID="HyperLink2" runat="server"
NavigateUrl="ForgotPassword.aspx">
Forgot your password ?
</asp:HyperLink>
或
<a href="ForgotPassword.aspx">Forgot your password ?<a>
我无法理解为什么这些基本的东西会失效... 我该如何解决这个问题?这可能是个错误吗?
编辑: 浏览器中的Url如下所示:
/Account/Login.aspx?ReturnUrl=%2fAccount%2fForgotPassword.aspx
我的网络配置:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
答案 0 :(得分:1)
我通过在web.config文件中添加以下内容来解决此问题:
<location path="ForgotPassword.aspx">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
答案 1 :(得分:0)
编译网站时会发生什么?如果Visual Studio找不到您的ForgotPassword.aspx页面,您应该在错误列表中看到“未找到文件'ForgotPassword.aspx'的警告。”请注意,这将显示在“错误列表”选项卡中,而不是“输出”选项卡中。
假设你没有得到这个警告......嗯。弹出我脑子里的唯一一件事就是你指定了默认行为吗?如果找不到链接中指定的页面,则应该获得404.如果您的网站托管在IIS中,则可以在收到错误消息时指定行为,例如404。也许IIS正在做一些重定向404以转到Default.aspx页面的东西?
另外,我刚刚注意到你开始“不时”。这意味着这是一个不一致的错误?链接有时会起作用,但有时它们不起作用?如果是这种情况,则会出现严重错误,并且可能是Visual Studio,插件或其他内容中的某种错误。所有其他方法都失败后重新安装!
答案 2 :(得分:0)
您的授权节点在Web.config中的外观如何?我的猜测是忘记密码页面的路径需要经过身份验证的用户。