Asp.net mvc 2 如何防止身份验证返回URL删除英镑符号后面的内容?

Asp.net mvc 2 如何防止身份验证返回URL删除英镑符号后面的内容?,asp.net-mvc-2,Asp.net Mvc 2,我们网站上有一本flash手册,flash插件使用磅符号(#)作为页面参考 例如,如果我浏览宣传册,每个页面上的url都会变成这样 http://site/fr/Brochure/Show/Brochure_Autocar_FR_2012/#/13 现在,该站点使用身份验证。如果用户当时未通过身份验证,ASP.NET MVC中的FormAuthentication会将其发送到登录页面,并使用推荐人地址作为返回URL http://site/fr/Account/LogOn?ReturnUrl=

我们网站上有一本flash手册,flash插件使用磅符号(#)作为页面参考

例如,如果我浏览宣传册,每个页面上的url都会变成这样

http://site/fr/Brochure/Show/Brochure_Autocar_FR_2012/#/13
现在,该站点使用身份验证。如果用户当时未通过身份验证,ASP.NET MVC中的FormAuthentication会将其发送到登录页面,并使用推荐人地址作为返回URL

http://site/fr/Account/LogOn?ReturnUrl=%2ffr%2fBrochure%2fShow%2fBrochure_Autocar_FR_2012%2f#/13
问题是,当它们进行身份验证时,返回的URL不包括#/13,因为它不是转义的,它只是浏览到它们

http://site/fr/Brochure/Show/Brochure_Autocar_FR_2012/

如何确保英镑符号后面的数据被编码为返回URL的一部分?

您必须在客户端重定向,因为英镑和其他东西甚至没有发送到服务器;您可能可以更改他的示例,改为发出客户端重定向代码。您必须在客户端重定向,因为英镑和其他东西甚至没有发送到服务器;您可能可以将他的示例改为发出客户端重定向代码。