2013-10-10 79 views
0

有時,我遇到了在使用ASP.NET應用程序時鏈接到Visual Studio中的頁面的問題。ASP.NET鏈接不會重定向到正確的頁面

我創建鏈接到的網頁,但他們總是重定向到默認的(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> 

我在弄不明白爲什麼這樣基本的東西,將無法正常工作環節。 .. 我該如何解決這個問題?這可能是一個錯誤?

編輯: 的網址在瀏覽器看起來是這樣的:

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

我的webconfig:

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

您可能具有ForgetPassowrd頁面上的檢查。將您重定向回default.aspx。檢查ForgetPassword頁面的頁面加載方法。 –

+0

你可以發佈你的web.config,對我來說更像是一個身份驗證問題,檢查谷歌瀏覽器,如果你點擊正確的頁面,然後得到重定向... –

+0

@佩德羅是有道理的,請參閱我的編輯。 – meda

回答

1

我加入這個解決以下到我的web.config文件:

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

當你編譯你的網站會出現什麼情況?如果Visual Studio找不到您的ForgotPassword.aspx頁面,則應在錯誤列表中顯示「未找到文件ForgotPassword.aspx」的警告。請注意,這將出現在「錯誤列表」選項卡中,而不是「輸出」選項卡中。

假設你沒有得到這個警告......嗯。唯一突然出現在我腦海中的東西可能是你指定了默認行爲?如果找不到鏈接中指定的頁面,則應該得到404。如果您的網站託管在IIS中,則可以在收到錯誤消息(如404)時指定行爲。也許IIS正在做一些重定向404轉到Default.aspx頁面的事情?

此外,我只是注意到你開始與「不時」。那意味着這是一個不一致的錯誤?鏈接有時有效,但有時它們不會?如果是這樣的話,就會出現嚴重錯誤,這可能是Visual Studio中的某種錯誤,插件或其他問題。重新安裝時,所有其他的失敗!

+0

yes我可以看到頁面不存在的警告 – meda

+0

那看起來很不好!我們應該確保Visual Studio可以找到這個文件。該文件可能存在於磁盤上,但在Visual Studio中可能不是這樣。當您打開解決方案時,您是否在解決方案資源管理器中的相同位置看到Login.aspx和ForgotPassword.aspx?如果他們在解決方案資源管理器中不在同一級別,這可以解釋爲什麼找不到它。 – pineconesundae

0

您的授權節點在您的Web.config中看起來像什麼?我的猜測是,您忘記密碼頁面的路徑需要經過身份驗證的用戶。