我正在尝试允许用户设置默认语言。当用户从下拉列表中选择一种语言并点击“保存”时,页面将重新加载并更新Google翻译cookie-因此该网站将被翻译成用户选择的语言。在Firefox和IE上,用户可以使用下拉菜单设置语言,然后将其更改为另一种语言。但是在Chrome上,用户可以第一次设置语言,但随后无法将其更改为其他语言。
这个问题只在测试和beta网站上出现-我可以在本地主机上更新语言。
我正在使用Chrome 38版本进行测试。
以下是第一次设置Cookie以及用户点击保存后更新Cookie的代码。
public void ImplementUserPreferences(UserPreferences prefs)
{
//examples of prefs.GoogleTranslateDefaultLanguage:
// af, sq, ar, sp, is....
HttpCookie languageCookie = new HttpCookie("googtrans", "/en/" + prefs.GoogleTranslateDefaultLanguage);
AddOrSetCookie(languageCookie, "googtrans");
}
private void AddOrSetCookie(HttpCookie cookie, String cookieName)
{
if (System.Web.HttpContext.Current.Request.Cookies[cookieName] == null)
{
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);
}
else
{
System.Web.HttpContext.Current.Response.Cookies.Set(cookie);
}
}
System.Web.HttpContext.Current.Response.Cookies[cookieName] = cookie
或者...Cookies[cookieName].Value = cookie.Value
这两种方法吗?或者删除这个cookie然后重新添加一个新的值? - user927976