我想要訪問我的國際化網站的人能夠更改語言。我認爲最好的方法是將選擇的語言存儲在cookie中 - 所以當頁面加載時,它可以在cookie中查找首選語言。在c中讀取cookie#
寫入cookie會變得很完美,但是我仍然遇到嘗試讀取它的錯誤。 因爲我是新來的C#即時通訊有麻煩翻譯錯誤視覺工作室引發我。
我想要一個稱爲'UserSettings'的cookie名爲lang的字符串的值。我想是這樣的:
string lang = Request.Cookies["UserSettings"].Value;
它拋出的錯誤:
對象引用不設置到對象的實例
我想這個問題有在語句的右側,因爲我正在初始化左側的字符串。
我也試圖通過做
HttpCookie cookie = Request.Cookies["UserSettings"].Value;
但視覺工作室犯規像這樣在所有制作餅乾的一個實例。
我在做什麼錯?我必須創建一個Request對象的實例嗎?任何幫助,將不勝感激。
我正在關注這個主題的不同教程,但他們都導致這個相同的錯誤。
編輯:我發現我有
HttpCookie cookie = Request.Cookies["UserSettings"].Value;
我把它改爲:
HttpCookie cookie = Request.Cookies["UserSettings"];
,但沒有運氣,但它仍然沒有奏效。
編輯:這是我的餅乾是怎麼做
public void Application_BeginRequest()
{
myCookie = new HttpCookie("UserSettings");
myCookie.Value = "nl";
myCookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(myCookie);
hc = new HomeController();
}
我的cookie是100%有,即時通訊是絕對肯定的是,我可以看到它在Firefox的Web開發人員。
UPDATE:這是確切的代碼我現在打電話
public string getLang()
{
// HttpCookie aCookie = Request.Cookies["UserSettings"];
// string lang = Server.HtmlEncode(aCookie.Value);
// if (lang != null)
// {
// currentLanguage = lang;
// }
return currentLanguage;
}
這樣我的代碼編譯,如果我取消我的代碼,那麼就行得(誤差@此方法的第一行)
導致我同樣的錯誤,因爲我知道cookie是100%在那裏,它可以是一個路徑的事情? – DeadManWalking
你如何添加cookie? – theedam
添加了這個信息到我的問題 – DeadManWalking