我试过用饼干记住我,但我不能成功。抛出null引用异常。 我该如何解决?
页面加载方法
if (!string.IsNullOrEmpty(Request.Cookies["mail"].Value) && !string.IsNullOrEmpty(Request.Cookies["pass"].Value)) {
TextBox1.Text = Request.Cookies["mail"].Value;
TextBox2.Text = Request.Cookies["pass"].Value;}
}
在CheckedChanged方法
中 if (CheckBox1.Checked == true)
{
Response.Cookies["mail"].Value = TextBox1.Text;
Response.Cookies["pass"].Value = TextBox2.Text;
}
答案 0 :(得分:3)
更改
if (!string.IsNullOrEmpty(Request.Cookies["mail"].Value) &&
!string.IsNullOrEmpty(Request.Cookies["pass"].Value))
通过
if (Request.Cookies["mail"] != null &&
Request.Cookies["pass"] != null &&
!string.IsNullOrEmpty(Request.Cookies["pass"].Value)
!string.IsNullOrEmpty(Request.Cookies["mail"].Value))
如果Request.Cookies["mail"]
或Request.Cookies["pass"]
为空,则if
将抛出您描述的异常。
另一个建议:如果您使用Forms Auhentication
,则可以使用内置类来支持您的登录和相关功能。在安全性方面重新发明轮子并不是一个好策略。
例如,我看到您将密码以明文形式存储在cookie上。 这是一个非常糟糕的主意。