private void Button1_ServerClick(object sender, System.EventArgs e)
{
ViewState["Validate2"] = Validate2.Text;
Response.Write(ViewState["Validate2"]);//有输出
Response.Write(Session["ValidateCode"]);//有输出
if ((string)ViewState["Validate2"] != (string)Session["ValidateCode"]){
Response.Write("<script>javascript:alert('555!');</script>");}
//检查验证码 LoginCheck i = new LoginCheck(); bool b = i.UserCheck(UserName.Text,PassWord.Text); if (b)
{
Response.Redirect("main.aspx");
} else {
Response.Write("<script>javascript:alert('用户名或密码错误!');</script>");
}
}为什么跳过了以下IF语句
if ((string)ViewState["Validate2"] != (string)Session["ValidateCode"]){
Response.Write("<script>javascript:alert('555!');</script>");}变量全都正确有值,为什么不执行这IF语句?????而光只有这IF语句其它删掉又会正常执行]郁闷死啊!!!!
{
ViewState["Validate2"] = Validate2.Text;
Response.Write(ViewState["Validate2"]);//有输出
Response.Write(Session["ValidateCode"]);//有输出
if ((string)ViewState["Validate2"] != (string)Session["ValidateCode"]){
Response.Write("<script>javascript:alert('555!');</script>");}
//检查验证码 LoginCheck i = new LoginCheck(); bool b = i.UserCheck(UserName.Text,PassWord.Text); if (b)
{
Response.Redirect("main.aspx");
} else {
Response.Write("<script>javascript:alert('用户名或密码错误!');</script>");
}
}为什么跳过了以下IF语句
if ((string)ViewState["Validate2"] != (string)Session["ValidateCode"]){
Response.Write("<script>javascript:alert('555!');</script>");}变量全都正确有值,为什么不执行这IF语句?????而光只有这IF语句其它删掉又会正常执行]郁闷死啊!!!!
或者在if 后面 加上一个else 输出一个 alert('666')
执行一下 看看 显示的是什么 是 555 还是 666
//不要这样比较,这样是对象在和对象比较,尽管你用string装箱了!仍然是对象,应该用ToString转换
if (ViewState["Validate2"].ToString() != (string)Session["ValidateCode"].ToString()){