重定向到路由未找到的结果资源

时间:2011-01-27 11:41:47

标签: asp.net-mvc-2

我有一个动作过滤器,它实现了一个基本检查,以查看用户是否经过身份验证。

如果用户未经过身份验证,我已实现此目的:

        var routeValue = new RouteValueDictionary
                             {                                     
                                 {"Controller", "Permission"},
                                 {"Action", "NoAccess"}
                             };

        filterContext.Result = new RedirectToRouteResult(routeValue);

        base.OnActionExecuting(filterContext);

确定这有效,并指出用户:

的http://本地主机:/许可/ noaccess下

但是当我重新加载我的项目并且用户被重定向到:

时,问题就开始发生了

的http://本地主机:/Views/Permission/NoAccess.aspx

我收到错误:无法找到资源。

稍微混淆了为什么它会工作一次然后在重新加载后再次中断?任何建议?也许我应该使用其他方法重定向?

使用IIS express,visual studio 2010,MVC2

1 个答案:

答案 0 :(得分:0)

这看起来像是Visual Studio的一个不幸功能......

如果在Visual Studio中打开了NoAccess.aspx视图,然后按F5,Visual Studio将打开带有URL http:/localhost:11111/Views/Permission/NoAccess.aspx的Internet Explorer。此URL可能适用于传统的ASP.NET应用程序,但它不适用于ASP.NET MVC应用程序。它基本上是Visual Studio中的一个错误,当然不在您的应用程序中。

如果您打开.cs文件然后按F5,Visual Studio将使用URL http:/localhost:11111/启动Internet Explorer。

我不确定这是否适用于您的问题,因为我不知道重新加载项目的含义。但它可能就是你所看到的。