DataBinder绑绑绑,三元表达式判判判~

为了显示checkbox 的可见性,用的是在前台绑定数据的方法:

Enabled='<%#(((DataBinder.Eval(Container,"DataItem.apply_status").ToString()=="Sumbit"?true:false || DataBinder.Eval(Container,"DataItem.apply_status").ToString()=="Approved"?true:false) && GetConditon()=="ApprovedSubmit"?true:false)||(DataBinder.Eval(Container,"DataItem.apply_status").ToString()=="Approved"?true:false && GetConditon()=="Approved"?true:false)||(DataBinder.Eval(Container,"DataItem.apply_status").ToString()=="Submit"?true:false && GetConditon()=="Submit"?true:false))&& DataBinder.Eval(Container, "DataItem.is_open").ToString()=="0"?true:false %> '

 

定义了一个有返回值的方法:

        /// <summary>
        /// 根据不同的身份和状态设置Checkbox的Enable属性
        /// </summary>
        public string GetCondition()
        {
            string statue = "";
            int LoginUserID = Int32.Parse(Session["LoginUserID"].ToString());
            if (rightManagementEntityMethod.IsVssAdmin(LoginUserID) && rightManagementEntityMethod.Isleader(LoginUserID))
            {
                statue = "ApprovedSubmit";
            }
            else if (rightManagementEntityMethod.IsVssAdmin(LoginUserID))
            {
                statue = "Approved";

            }
            else if (rightManagementEntityMethod.Isleader(LoginUserID))
            {
                statue = "Submit";
            }
            return statue;
        }

 

 

感觉这种判别方法肯定有问题,这样写的好无奈啊~自己都有点看不去!

posted @ 2010-12-27 22:34  zhanglong0426  阅读(543)  评论(0编辑  收藏  举报