2014-05-05 48 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文件即