首页 > 代码库 > dtcms Bug总结

dtcms Bug总结

作为以后参考:

  1.  if (IsContainNode(model.id, model.parent_id))//这个应该一直是false
    {
    }
      /// <summary>
            /// 验证节点是否被包含
            /// </summary>
            /// <param name="id">待查询的节点</param>
            /// <param name="parent_id">父节点</param>
            /// <returns></returns>
            private bool IsContainNode(int id, int parent_id)
            {
                StringBuilder strSql = new StringBuilder();
                strSql.Append("select count(1) from " + databaseprefix + "article_category ");
                strSql.Append(" where class_list like ‘%," + id + ",%‘ and id=" + parent_id);//从父分类所在行找是否包含子的id,但是数据库是子分类包含父id,一个id的class_list是从父到自己的等级,而不是从自己到孩子
                //所以这个一直都是false的
                return DbHelperSQL.Exists(strSql.ToString());
            }

    技术分享

 虽然一直为false,不影响程序,多了一段还是很难看,删掉!

解决办法:直接删掉if代码块以及IsContainNode代码块,后面的已经足够了,包括迭代修改子信息

2.登陆成功5次也统计成5次错误,改成这样

 //判断登录错误次数,放在最前面,即使没输入用户名或者密码,或者登陆成功,也提示关闭浏览器并且return
            if (Session["AdminLoginSun"] != null && Convert.ToInt32(Session["AdminLoginSun"]) > 5)
            {
                msgtip.InnerHtml = "错误超过5次,关闭浏览器重新登录!";
                return;
            }

            if (userName.Equals("") || userPwd.Equals(""))
            {
                msgtip.InnerHtml = "请输入用户名或密码";
                return;
            }

            BLL.manager bll = new BLL.manager();
            Model.manager model = bll.GetModel(userName, userPwd, true);
            if (model == null)//登陆错误,统计次数,
            {

                if (Session["AdminLoginSun"] == null)
                {
                    Session["AdminLoginSun"] = 1;
                }
                else
                {
                    Session["AdminLoginSun"] = Convert.ToInt32(Session["AdminLoginSun"]) + 1;
                }
                msgtip.InnerHtml = "用户名或密码有误,请重试!";
                return;
            }

            Session["AdminLoginSun"] = null;//登陆成功,清空错误统计次数
            Session[DTKeys.SESSION_ADMIN_INFO] = model;
            Session.Timeout = 45;

 

dtcms Bug总结