2014-09-02 131 views
1

頁我有兩個頁面:ASP.NET負載從錯誤的命名空間

/foo/bar.aspx 
/moo/bar.aspx 

這些頁面由角色在web.config限制:

<location path="foo"> 
    <system.web> 
     <authorization> 
      <allow roles="foo"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

<location path="moo"> 
    <system.web> 
     <authorization> 
      <allow roles="moo"/> 
      <deny users="*"/> 
     </authorization> 
    </system.web> 
</location> 

這裏的問題:當用戶是誰的角色是「moo」去/moo/bar.aspx,ASP.NET將它們發送到/foo/bar.aspx。這是爲什麼發生?直接導航和重定向時的行爲都是相同的,所以聽起來像是路由問題。我認爲有一些名稱衝突發生,但我不明白爲什麼。

+1

有人聲稱這不是一個'編程問題'。它絕對是。它關於使用ASP.NET製作網站。我無法想象這個問題只是一個編程問題。 – mtmurdock 2014-09-02 14:24:41

+1

我不認爲這是近距離投票的原因。你的問題只是不可重現。您當前的代碼不顯示任何暗示重定向的代碼。你可以嘗試創建一個新的應用程序,把它放入並檢查它是否工作? – 2014-09-02 14:34:09

+0

它在關閉請求中的權利「這個問題似乎沒有關於編程」。這個問題不是特定於重定向。無論是直接加載還是重定向,它都是一樣的。我只是爲了徹底而將這些細節包括在內。 – mtmurdock 2014-09-02 14:36:54

回答

1

您是否將bar.aspx從一個目錄複製到另一個目錄?檢查您的@page指令是否指向正確的代碼隱藏並繼承正確的類。

如果頁面從錯誤的名稱空間加載代碼,這是最可能的原因。