我正在开发一个多语言网站。我正在通过查询字符串变量确定所请求的语言,例如:http://mydomain.com/default.aspx?lang=en
我在我的母版页中使用了两个<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中?取决于哪种语言当前处于活动状态?
发布于 2010-03-18 01:37:02
您的login.aspx代码隐藏可以HttpServerUtility.UrlDecode ReturnUrl变量。然后使用HttpUtility.ParseQueryString()获取lang参数。
例如:
HttpUtility.ParseQueryString(HttpUtility.UrlDecode(Request.Params["ReturnUrl"]));当然,在现实生活中,您会检查所请求的变量是否存在
HttpUtility.ParseQueryString()
HttpUtility.UrlDecode()
https://stackoverflow.com/questions/2464343
复制相似问题