私のサイトでは、管理者アカウントにログインしたら「記憶」し、ログアウトしました(ログアウトするとCookieが削除されます)。別のアカウントで入力して「記憶」をチェックすると、次のエラーが表示されます:
Unable to cast object of type 'System.Web.HttpCookie' to type 'System.String'.
私のセッションで何か奇妙なことを入力したと思いますが、その理由はわかりません..
私がすでに試したこと:私はすでにすべてを試しましたが、なぜうまくいかないのかわかりません。
誰でも修正方法を知っていますか?ありがとう。
ここにコード:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["account"] != null)
{
Session["user2"] = Request.Cookies["userFont"];
Session["user"] = Request.Cookies["account"];
}
if (Session["user"] == null)
{
Session["user2"] = "Guest";
hey = (string)Session["user2"];
log += "You are not logged in, <a href='Login.aspx'><font color='red'>Log in!</font></a> or <a href='Register.aspx'><font color='red'>Register!</font></a> ";
button += "<td><a href='Login.aspx' class='button'>Log in</a></td>";
}
else
{
hi = (string)Session["user"];
hey = "<a href='\\Profile.aspx?user="+hi+"'>" + Session["user2"] + "</a>";
button += "<td><a href='Login.aspx' class='button'>Log out</a></td>";
}
私はエラーが発生しています:
hi = (string)Session["user"];