ASP.Net Web窗体LoginStatus多个LoginURL - 建议?
问题描述:
我正在开发一个多语种的网站。我通过查询字符串变量确定所需的语言,例如:http://mydomain.com/default.aspx?lang=enASP.Net Web窗体LoginStatus多个LoginURL - 建议?
我在母版页中使用了两个<asp:LoginStatus />
控件。我的web.config文件是这样设置的,用于表单身份验证。
<authentication mode="Forms">
<forms loginUrl="~/login.aspx" protection="All" timeout="30"
name=".ASPXAUTH" path="/" requireSSL="false"
slidingExpiration="true"
defaultUrl="default.aspx"
cookieless="UseDeviceProfile"
enableCrossAppRedirects="false"/>
</authentication>
目前,当你点击一个<asp:LoginStatus />
你将被重定向到我的登录页面和URL会是这个样子:http://mydomain.com/login.aspx?ReturnUrl=%2fdefault.aspx%3flang%3den
什么解决方案提供给我,让我可以追加我的LANG变量到我的login.aspx?取决于哪种语言目前处于活动状态?
答
你login.aspx的代码隐藏可以HttpServerUtility.UrlDecode的RETURNURL变量。然后使用HttpUtility.ParseQueryString()获取lang参数。
例如,
HttpUtility.ParseQueryString(HttpUtility.UrlDecode(Request.Params["ReturnUrl"]));
当然,在现实生活中你会检查,如果该请求变量甚至存在
这是非常好的。作品一种享受。谢啦! – TGuimond 2010-03-17 18:19:57
没问题,随时。 – kervin 2010-03-17 18:37:47