0

From time to time I encounter issues linking to page in Visual Studio when working with ASP.NET application.

I create links to pages but they always redirect to the default one (Default.aspx)

  • I trying various thing like deleting and recreate
  • Rename the page
  • Even If the page does not exist it still redirects to the defaults page.

My Login.aspx page is the same folder as ForgotPassword.aspx I create links like this

<asp:HyperLink ID="HyperLink2" runat="server"
               NavigateUrl="ForgotPassword.aspx">
             Forgot your password ?
</asp:HyperLink>

or

<a href="ForgotPassword.aspx">Forgot your password ?<a>

I am at loss to understand why such basic stuff would fail to work... How can I solve this issue? Could this be a bug?

EDIT: The Url in the browser looks like this:

/Account/Login.aspx?ReturnUrl=%2fAccount%2fForgotPassword.aspx

My webconfig:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" />
</authentication>
4

3 回答 3

1

我通过将以下内容添加到我的 web.config 文件来解决此问题:

  <location path="ForgotPassword.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
于 2013-10-11T13:44:09.860 回答
0

Web.config 中的 Authorization 节点是什么样的?我的猜测是您的忘记密码页面的路径需要经过身份验证的用户。

于 2013-10-10T18:13:46.277 回答
0

当你编译你的网站时会发生什么?如果 Visual Studio 找不到您的 ForgotPassword.aspx 页面,您应该在错误列表中收到一条警告,显示“找不到文件 'ForgotPassword.aspx'”。请注意,这将出现在错误列表选项卡中,而不是输出选项卡中。

假设您没有收到此警告...嗯。唯一突然出现在我脑海中的可能是您指定了默认行为?如果找不到链接中指定的页面,您应该得到 404。如果您的网站托管在 IIS 中,您可以指定收到错误消息时的行为,例如 404。也许 IIS 正在做一些事情,它将 404 重定向到 Default.aspx 页面?

另外,我刚刚注意到您从“不时”开始。所以这意味着这是一个不一致的错误?链接有时有效,但有时无效?如果是这种情况,那就是严重错误,可能是 Visual Studio 中的某种错误、插件或其他东西。当一切都失败时重新安装!

于 2013-10-10T17:12:59.357 回答