前提:我想用page类的request和response对象来处理cookie所以在bll层写了一个这样一个判读是否登录的方法(大家帮我看看是否合理)
public static bool checklogin(System.Web.UI.Page p, out int id)
        { 
            int uid = 0;
            HttpCookie ck = p.Request.Cookies["houtaiyhid"];
            if (int.TryParse(ck.Value, out uid))
            {
                id = uid;
                if (uid > 0)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else
            {
                id = uid;
                return false;
            }
        }
分不多大家过来讨论讨论

解决方案 »

  1.   

    System.Web.UI.Page是UI层的东西,不应该在BLL中出现...同样的,Cookies神马的都不应该有...
      

  2.   


    有basepage吗?
    一般都是放到basepage里面。
      

  3.   

    cookie在UI层取出来传参到BLL层处理
      

  4.   

    bll不是处理业务逻辑的吗?那么判断是否已经登录算不算业务逻辑
      

  5.   

    修改啦下 这样又如何public static bool checklogin(HttpCookie ck, out int id)
            {
                if (ck != null)
                {
                    int uid = 0;                if (int.TryParse(ck.Value, out uid))
                    {
                        id = uid;
                        if (uid > 0)
                        {
                            return true;
                        }
                        else
                        {
                            return false;
                        }
                    }
                    else
                    {
                        id = uid;
                        return false;
                    }
                }
                else
                {
                    return false;
                }
            }
      

  6.   


    一样。。  HttpCookie 是UI的
      

  7.   

        public class MemberBase : PageBase
        {
            const string AdminstateKey = "RunContext_Admin";
            /// <summary>
            /// 获取管理员的状态信息。
            /// </summary>
            public AdminState Admin
            {
                get
                {
                    if (HttpContext.Current.Items[AdminstateKey] == null)
                    {
                        HttpContext.Current.Items[AdminstateKey] = new AdminState(HttpContext.Current);
                    }
                    return (AdminState)HttpContext.Current.Items[AdminstateKey];
                }
            }
                    const string MemberstateKey = "RunContext_Member";
            /// <summary>
            /// 获取管理员的状态信息。
            /// </summary>
            public MemberState Member
            {
                get
                {
                    if (HttpContext.Current.Items[MemberstateKey] == null)
                    {
                        HttpContext.Current.Items[MemberstateKey] = new MemberState(HttpContext.Current);
                    }
                    return (MemberState)HttpContext.Current.Items[MemberstateKey];
                }
            }
        }
      

  8.   

            protected override void OnInit(EventArgs e)
            {
    处理  是否登录
            }
      

  9.   

    PageBase类是什么样的 .net类库的中的类吗?还是自己写的
      

  10.   

     PageBase类 百度下明白啦
      

  11.   

    或者母版页、用户控件、HttpHandler,方法很多