我在查詢字符串參數被添加到登錄重定向url的生產應用程序中有此問題。爲了重現這一點,創建一個新的MVC項目(我用MVC2和MVC3 R2進行了測試)。在HomeController
添加了以下行動:ASP.NET MVC UnauthorizedResult添加不需要的參數登錄url
public ActionResult Break()
{
return new HttpUnauthorizedResult();
}
啓動應用程序和命中/home/break?a=1&b=2
。因此,這自然應該重定向到/Account/LogOn?ReturnUrl=/home/break%3fa%3d1%26b%3d2
但它實際上將所請求的參數(&a=1&b=2
)到URL的末尾還有:
這究竟是爲什麼?由於ReturnUrl
中的編碼url具有所需的參數,因此不需要添加這些參數。我認爲這將是生產應用程序中的東西,但如果遵循上述步驟,則默認的MVC應用程序也會重現此操作。任何想法如何解決這個讚賞。
謝謝。現在我覺得這很有道理,最初它讓我非常好奇。因爲它是有設計的,所以我會留下這個。 – TheCloudlessSky 2010-12-17 01:29:29