0
C#とASPでアプリケーションを作成しましたが、今はCookieとは何の関係もなく、IEのCookieを作成していない小さな変更を加えました。 Firefox用です私のlogin.aspxのからCookieはC#を使用するIEではnullですが、Firefoxでは使用できません
:
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
クッキーは作成されていませんが、価値はありませんか?つまり、Cookieの値としてLogin2.UserNameを設定したときにLogin2.UserNameが設定されていることを確認しましたか?その場合、同じエラーが発生します.HtmlEncodeに渡されるValueプロパティはnullになります。 –
Login2_Authenticate()イベントでクッキーが作成されていますが、最初に空でないかどうかチェックし、SQLで有効であればクッキーを作成します。 – GlacialVoid