2014-09-02 130 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指令是否指向正确的代码隐藏并继承正确的类。

如果页面从错误的名称空间加载代码,这是最可能的原因。