就像在这个article中,我实现了一种在网站上切换语言的简单方法。
问题是,如果我想要使用下拉列表切换语言,并将最后选择的语言留在下拉列表控件的视图上。
我见过的每一篇关于文化信息切换的文章都会在语言切换之后立即发送一个Server.transfer()调用,该事件会导致非回发页面重新加载,包括从默认位置重新加载的dropdownlist控件。
我尝试了一个response.redirect(),但它仍然是一个非回发调用
我想我需要一种方法来检查它是否是页面加载中的Server.transfer()调用,但仍然没有找到一种方法来开发它
谢谢。
发布于 2012-02-02 23:45:21
假设您遵循了与那篇文章相同的方法,那么如下所示:
string path = this.Request.Path;
if (path.LastIndexOf('?') > 0)
path += "&lang=" + senderLink.CommandArgument;
else
path += "?lang=" + senderLink.CommandArgument;
this.Server.Transfer(path);然后,在this.Server.Transfer执行的页面上,从this.Request.QueryString["lang"]获取下拉列表的值,并适当地设置lang的SelectedItem。
或者,保留Server.Transfer(Request.Path);,但在接收页面上,解析Session["MyCulture"]以设置dropdown。+1
https://stackoverflow.com/questions/9114588
复制相似问题