我的登錄頁面有一個與之關聯的redirectURL,但redirectURL並不總是有效的,例如,如果用戶註銷,然後單擊一個按鈕將POST POST到沒有關聯GET方法的URL,或者RedirectToAction是用過的。任何基於URL測試動作是否存在的方法?
我已經嘗試了很多方法來查看在重定向之前路由是否有效,但沒有任何工作。
我RETURNURL是/MyApplicationName/SomeController/SomeAction/12345
我曾嘗試:
ViewEngineResult viewResult = ViewEngines.Engines.FindView(ControllerContext, returnUrl, null);
BuildManager.GetObjectFactory(returnUrl, false)
,有些東西我找到的所以關於的RouteData。
到目前爲止沒有任何工作。
任何想法?
有相當多的涉及(包括.NET反射)來做到這一點。看看[MvcRouteTester]的源代碼(https://github.com/AnthonySteele/MvcRouteTester)和[AuthorizeAttributeAclModule](https://github.com/maartenba/MvcSiteMapProvider/blob/master/src/MvcSiteMapProvider/ 「MvcSiteMapProvider」的MvcSiteMapProvider/Security/AuthorizeAttributeAclModule.cs#L85)。 – NightOwl888
您是否自己找到解決方案? – MstfAsan
我還沒有解決這個問題,bug仍然在bugtracker中!我可能只是手動編寫一些重定向的keyvaluepairs的所有職位,並檢查他們之前,我重定向。如果我有時間,我會嘗試提取控制器和操作,並進行一些反射來檢查控制器,並查看它是否具有URL的有效方法,如果我可以讀取這些屬性的話。我們拭目以待。如果我以這種方式解決問題,我會在下面發表一個答案。 – NibblyPig