2011-01-27 36 views
0

我有一個操作過濾器,它實現了一個基本檢查,看看用戶是否通過身份驗證。重定向到路由結果資源未找到

如果用戶沒有通過驗證我實現了這一點:

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

     filterContext.Result = new RedirectToRouteResult(routeValue); 

     base.OnActionExecuting(filterContext); 

確定這個工程,並指出用戶:

的http://本地主機:/許可/ noaccess下

但問題開始發生時,我重新加載我的項目,然後用戶被重定向到:

http:// localhost:/Views/Permission/NoAccess.aspx

我得到錯誤:無法找到資源。

有些困惑,爲什麼它的工作原理,然後再次打破後重新加載?任何建議?也許我應該用另一種方法重定向?

使用IIS表示,Visual Studio 2010中,MVC2

回答

0

這看起來像Visual Studio中的一個不幸的特點...

如果你有看法NoAccess.aspx在Visual Studio中打開,然後按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。

我不確定這適用於您的問題,因爲我不知道您的意思是重新加載您的項目。但它可能是你看到的。

+0

是的,我認爲它的VS錯誤..因爲我可以重新啓動應用程序..以及它的命中或錯過,如果它的工作與否。如果沒有其他反饋,我會給你提供答案的要點。謝了哥們 – nologo 2011-01-27 14:31:53