4

我正在开发一个多语言 C# 网站。我写了一个databaselanguages文件和Languages类。在这堂课中,我将所有字符串都放在适当的语言中。默认情况下,语言是荷兰语,除非有 cookie。在我使用语言类之前,我把它写在默认的 aspx.cs 中,并像这样请求 cookie:

Context.Request.Cookies ["lancookie"];

如果更改了语言,我更改了 cookie 并重新加载页面。在我使用的语言课中:

HttpContext.Current.Request.Cookies ["lancookie"].Value;

如果我更改语言,那么它也需要几分钟才能加载。我该怎么做才能触发 cookie?

 

    public class Language
    {

      public static string getLanCookie ()
      {
        lancookie string = string.Empty;
        if (HttpContext.Current.Request.Cookies ["lancookie"]. Value! = null)
        {
            lancookie HttpContext.Current.Request.Cookies = ["lancookie"]. Value;
        }
        else
        {
            lancookie = "Dutch";
        }
        lancookie return;
      }

       public static string language = getLanCookie ()
       public static string Home = Language ("Home", language);
       public static string end = Language ("The End", language);
       public static string Subject = Language ("Box", language);

   }
4

1 回答 1

2

你必须使用

HttpContext.Current.Response.Cookies

设置一个新的。为了能够清除 cookie,您必须将其过期日期设置为过去。不会太详细,因为这应该回答你的问题:

何时使用 Request.Cookies 而不是 Response.Cookies?

于 2012-08-07T19:07:35.550 回答