刚接触EF,了解不多还请大神们帮助!!!!
if (ModelState.IsValid)
{
string code=Request["txtRUValidetaCode"];
if (!string.IsNullOrEmpty(code))
{
if (Session["code"] != null)
{
if (Session["code"].ToString().ToLower().Equals(code.ToLower()))
{
model.U_id = System.Guid.NewGuid().ToString();
model.U_pwd = MD5.LoadMD5(model.U_pwd);//密码加密后 数据存储不了,不执行
DbEntityEntry<U_user> enty = db.Entry(model);
enty.State = System.Data.EntityState.Added;
db.SaveChanges();
return Json(new { State = "ok", Msg = "注册成功" });
}
else
{
return Json(new { State = "Yanzhenma", Msg = "验证码错误!" });
}
}
else
{
return Json(new { State = "Yanzhenma", Msg = "验证码过期!" });
}
}
else
{
return Json(new { State = "Yanzhenma", Msg = "请输入验证码!" });
}
}
return Json(new { State = "Error", Msg = "控件值校验失败!" });
DbContext.U_user.Add(model);
int intResult = DbContext.SaveChanges();
// 返回执行结果
return intResult > 0 ? true : false;
这里我想告诉你一个你代码的问题:你的if嵌套的太多了
你可以适当这样修改一下
if (string.IsNullOrEmpty(code)) { return Json(new { State = "Yanzhenma", Msg = "请输入验证码!" }); } ...
... DbContext.U_user.Add(model); int intResult = DbContext.SaveChanges(); // 返回执行结果 return intResult > 0 ? true : false;
你好,我这里的if 多 是判断【验证码】和mvc中校验 的 ,跟增加数据 没有关系,
我这里用的EF写的增加数据:
model.U_id = System.Guid.NewGuid().ToString();
model.U_pwd = MD5.LoadMD5(model.U_pwd);
DbEntityEntry<U_user> enty = db.Entry(model);
enty.State = System.Data.EntityState.Added;
db.SaveChanges(); //密码加密后 数据存储不了,不执行,如果说把密码加密这句注释的话 ,就可以执行了,我认为是我的上下文 变了,但是代码要怎么改呢,不知道怎么写了
@依然照旧: 1,我没说你if跟你加数据有关,我是说你这样写if会死人,然后给你贴了一个if的使用方法
2,首先你得把你的错误贴出来才能知道什么原因,可能是加密后数据太长导致的,如果是修改一下数据库里这个字段的长度
@依然照旧: 关于if这块再补充一下,使用if最好不要嵌套超过3层.
@澈澈:恩,好的非常感谢宝贵意见,谢谢,以后 改正,哈哈!!
但是关于插入语句,我也纳闷,关键是它不报错 也不执行 ,怎么办,我数据库中存这个字段的类型是nvarchar(64)
@依然照旧: 怎么可能不报错也不执行...肯定是有问题的,你分步跟一下代码看看吧
@澈澈:这样写IF 可以吗
[HttpPost]
public JsonResult UserRisterAdd(U_user model)
{
if (!ModelState.IsValid)
return Json(new { State = "Error", Msg = "控件值校验失败!" });
string code = Request["txtRUValidetaCode"];
if (string.IsNullOrEmpty(code))
return Json(new { State = "Yanzhenma", Msg = "请输入验证码!" });
if (Session["code"] == null)
return Json(new { State = "Yanzhenma", Msg = "验证码过期!" });
if (Session["code"].ToString().ToLower().Equals(code.ToLower()))
{
model.U_id = System.Guid.NewGuid().ToString();
//model.U_pwd = MD5.LoadMD5(model.U_pwd);
DbEntityEntry<U_user> enty = db.Entry(model);
enty.State = System.Data.EntityState.Added;
db.SaveChanges();
return Json(new { State = "ok", Msg = "注册成功" });
}
else
{
return Json(new { State = "Yanzhenma", Msg = "验证码错误!" });
}
}
@依然照旧: 棒棒的,不过最后一个验证码错误的判断也可以像上面一样写,这样你调试起来,读起代码来是不是就方便多了.
@澈澈:
@澈澈: 怎么办呀!!求支招呀大神!!!!
新建一个实体做验证,另外一个实体做存储