2014-05-05 47 views
0

我有一个超链接不会导航到设置的URL。这是死的简单我不知道什么是错的。 在我的aspx页面的链接:ASP.NET超链接控件将不会导航到url

<asp:HyperLink ID="HyperLinkLostPass" runat="server" 
    Text="Forgot username or password?" NavigateUrl="~/test.aspx" Target="_self"> </asp:HyperLink> 

当我点击测试页不加载超链接,导航栏显示: theserver:33072/websitename/Default.aspx的RETURNURL =%2fWebHCV3%2ftest .aspx

我留在Default.aspx上。

没有为test.aspx编写的代码(读取'TEST'的简单页面),它驻留在与Default.aspx相同的文件夹中。

回答

2

您可以通过添加解决这个问题下面您web.config文件:

<location path="test.aspx"> 
    <system.web> 
     <authorization> 
     <allow users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
+0

这是一个快速的解决方法,但我认为申请人必须了解窗体身份验证机制。 – DadyFuji

+0

是或OP也可以将该文件移动到账户文件夹以外,如果重新调用,它将避免这样的问题 – meda

+0

我必须更好地熟悉表单身份验证。所以,response.redirect保持同一授权范围内的所有活动,但如果它是超链接,我必须明确设置授权。谢谢。 –

2

我认为〜/ test.aspx指向的URL位于表单身份验证路径后面,因此被服务器重定向到您已设置为登录页面的内容(注意:导航中的ReturnUrl =路径酒吧。

请检查你的web.config条目,并确保您的Test.aspx的路径被允许通过匿名请求查看。

1

你已经在你的应用程序中使用的身份验证。您将被重定向到默认值,因为根目录除了default.aspx之外,已经被限制。

只要检查你的web.config文件即