0
我用C#和ASP編寫了一段時間的應用程序,現在我做了一個與cookie無關的小改動,它並不爲IE創建cookie,但它創建他們爲Firefox。Cookie使用C#的IE爲空,但不是用於Firefox的
從我的login.aspx:
HttpCookie cLevel = new HttpCookie("Level");
cLevel.Value = consulta.retornarNivel(Login2.UserName, Login2.Password).ToString();
cNivel.Expires = DateTime.Now.AddMinutes(30);
cNivel.Domain = Request.Url.Host.ToString();
HttpCookie cUser = new HttpCookie("User");
cUser.Value = Login2.UserName;
cUser.Expires = DateTime.Now.AddMinutes(30);
cUser.Domain = Request.Url.Host.ToString();
//create cookies..
Response.Cookies.Add(cLevel);
Response.Cookies.Add(cUser);
//redirect to Services
Response.Redirect("Services.aspx");
現在我Services.aspx,在我的Page_Load我有這樣一行:
lbWelcome.Text = "Welcome" + Server.HtmlEncode(Request.Cookies["User"].Value);
對IE這條線給我:對象引用未設置到一個對象的一個實例。 在Firefox上它完美解析。
什麼可能影響我的代碼與FF?
爲什麼你甚至打擾設置域?這對於響應url來說當然是有效的,因此設置域本身可能是罪魁禍首 - IE可能不會對此做出響應。 – Tejs 2012-04-24 15:13:09
你確定cookie沒有被創建,但沒有任何價值嗎?也就是說,當您將該值指定爲cookie的值時,是否驗證了Login2.UserName是否已填充?這會導致相同的錯誤 - 傳遞給HtmlEncode的Value屬性將爲null。 – 2012-04-24 15:28:39
Cookie正在Login2_Authenticate()事件上創建,首先我檢查它是否爲空,並且它是否通過SQL有效,然後創建cookie – GlacialVoid 2012-04-24 15:46:02