地服系统表单:封装在基类实现唯一性校验

2017-06-05 16:19:41  访问(1564) 赞(0) 踩(0)



  • 关键配置:

    // ZNBM\eKing.SzdfPage\Areas\ZnbmJygl\JYGL\JyglHylx\EkSzdfDetailForm__Page.cs
    
    #region TheCode - 代号
    
                // TheCode - 代号
                ekx = _TheCode;
                ivc = ekx;
                ivc.EmValidFlagV
                    = 
                    EkPageCreate.Enums.ValidFlag.EmValidFlag.忽略大小写唯一性校验;
    
                #endregion TheCode - 代号
    

    代码展开:
    1、
    // ZNBM\eKing.EkPageCreate\WebCtrls\EkxInputCtrls\IValidCtrl.cs //
    // 设置扩展校验的代号 //
    
            /// <summary>
            /// <para>获得扩展校验的代号,缺省根据校验类型做判断</para>
            /// <para>唯一性校验:checkunique</para>
            /// <para>关联校验:rc</para>
            /// </summary>
            /// <returns></returns>
            public string ValidExtendCodeGet()
            {
                if (ValidExtendCode != null)
                    return ValidExtendCode;
    
                switch (EmValidFlagV)
                {
                    case Enums.ValidFlag.EmValidFlag.不校验:
                        return "";
                    case Enums.ValidFlag.EmValidFlag.自定义唯一性校验:
                        return "checkunique";
                    case Enums.ValidFlag.EmValidFlag.忽略大小写唯一性校验:
                        return "basenocasecheckunique";
                    case Enums.ValidFlag.EmValidFlag.完全唯一性校验:
                        return "basecheckunique";
                    case Enums.ValidFlag.EmValidFlag.校验:
                        return "";
                    default:
                        return "";
                }
    
            }
    

    2、
    // \Management\Content\js\ZNBM\znbm.ekcheck.js
    // BaseJsCheckInput4CheckUnique 方法
    // 设置JS校验 //
    
    
    // 唯一性校验 //
    function BaseJsCheckInput4CheckUnique(pkId, ignoreCase, selfThis, valueThis) {
        // 校验唯一性 //
        // 获得控件值 //
        var ctrlValue = EkGetCtrlValue(valueThis);
    
        // 获得控件id //
        var ctrlId = EkGetCtrlId(selfThis);
    
        // 校验代号的唯一性 //
        // 调用的MVC地址 //
        var ajaxUrl = "BaseCheckUnique";
    
        // 获得搜索的数据 //
        var ajxData = [];
    
        // 关键字 //
        ajxData.push({ name: "_id", value: pkId });
    
        // 是否忽略大小写 //
        if (ignoreCase) {
            ajxData.push({ name: "ignorecase", value: "1" });
        }
        else {
            ajxData.push({ name: "ignorecase", value: "0" });
        }
    
        // 控件id //
        ajxData.push({ name: "ctrlid", value: ctrlId });
    
        // 输入值 //
        ajxData.push({ name: "inputvalue", value: ctrlValue });
    
        var theResult = false;
        var errMsg = "";
    
        $.ajax({
            cache: false,
            async: false, // 这里用false,不走异步模式 //
            url: ajaxUrl,
            type: "post",
            data: ajxData,
            success: function (rData) {
                if (rData == null) {
                    theResult = false;
                }
                else {
                    theResult = rData.IsSucc;
                    errMsg = rData.Msg;
                }
            }
        });
    
        if (theResult)
            return true;
    
        if (errMsg == null || errMsg == "")
            errMsg = "唯一校验失败";
    
        EkChangeCss(selfThis, errMsg);
    
        return false;
    }
     
    

    3、
    // Management\Content\js\ZNBM\znbm.ekcheck.js
    // EkJudgeValidateByThis
    
    
        // 获得扩展校验 //
        var validExtendCodeV = $(selfThis).attr("validextendcode");
    
        if (validExtendCodeV == undefined)
            return validateFlag;
    
        if (validExtendCodeV == null || validExtendCodeV == "")
            return validateFlag;
    
        if (validExtendCodeV == "basenocasecheckunique")
        {
            // 封装的唯一性校验(忽略大小写) //
            validateFlag = BaseJsCheckInput4CheckUnique(pkId, true, selfThis, valueThis);
        }
        else if (validExtendCodeV == "basecheckunique") {
            // 封装的唯一性校验(不忽略大小写) //
            validateFlag = BaseJsCheckInput4CheckUnique(pkId, false, selfThis, valueThis);
        }
        else {
            // 必须扩展JS中有 JsCheckInput4ExtendCode 这个方法 //
            validateFlag = JsCheckInput4ExtendCode(pkId, selfThis, valueThis, validExtendCodeV);
        }
    
        // 保护代码 //
        if (validateFlag == undefined)
            return true;
    
        return validateFlag;
    


    4、
    // Management\Classes\ZNBM\ZnbmCommonController.cs //
    // BaseCheckUnique
    
    
    
            #region 唯一性校验
    
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <param name="pkId"></param>
            /// <param name="dcName"></param>
            /// <param name="ignoreCase"></param>
            /// <param name="inputValue"></param>
            /// <param name="emSVL"></param>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            protected bool BaseCheckUnique8Params
                (
                    string pkId,
                    string dcName,
                    bool ignoreCase,
                    string inputValue,
                    eKing.EkPageCreate.Enums.SaveValueLogic.EmSaveValueLogic emSVL,
                    DBHelper xdbHelper
                )
            {
    
                bool theResult = true;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    BaseBusiness
                        bll
                        =
                        BaseBusinessCurGet();
    
                    BaseEntity
                        entity
                        =
                        bll.CreateBaseEntity();
    
                    IQueryDriver iq = entity;
                    EntityFieldInfo pkInfo = entity.GetIDEntityFieldInfo();
                    EntityFieldInfo dcInfo = entity.GetExistEntityFieldInfo(dcName);
    
                    if (pkId == null || pkId.Length == 0)
                    {
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                pkInfo,
                                SlowX.DAL.Enums.SqlLink.EmSqlLink.NotEqual,
                                null
                            );
                    }
                    else
                    {
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                pkInfo,
                                SlowX.DAL.Enums.SqlLink.EmSqlLink.NotEqual,
                                pkId
                            );
                    }
    
                    if (inputValue == null)
                    {
                        inputValue = "";
                    }
                    else
                    {
                        if (ignoreCase)
                        {
                            inputValue = inputValue.ToLower();
                        }
                    }
    
                    eKing.EkPageCreate.Utils.CommonUtil
                        cu
                        =
                        eKing.EkPageCreate.Utils.CommonUtil.instance;
    
                    // 转义值类型 //
                    object oValue = cu.SaveValueGetValueObj
                        (
                            inputValue,
                            emSVL
                        );
    
                    if (ignoreCase)
                    {
                        // theCode == theCode //
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                dcInfo, 
                                SlowX.Core.Enums.StringCase.EmStringCase.小写,
                                oValue
                            );
                    }
                    else
                    {
                        iq.AddIQueryItemWithEntityFieldInfo(dcInfo, oValue);
                    }
    
                    // 不存在表示唯一 //
                    theResult = !bll.IsExist(entity, xdbHelper);
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
            }
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult
                BaseCheckUniqueOper(DBHelper xdbHelper)
    
            {
                // Http参数过来的相关的参数名 //
                HttpContextName hcn = HttpContextName.instance;
    
                // 获得关键字 //
                string pkId = Request.Form[hcn._id];
                // 获得输入值 //
                string inputValue = Request.Form[hcn.InputValue];
                // 是否忽略大小写 //
                bool ignoreCase = (Request.Form[hcn.IgnoreCase] == "1");
                // 找到控件 //
                string ctrlId = Request.Form[hcn.CtrlId];
    
                eKing.EkPageCreate.WebCtrls.EkxPage eKp
                    =
                    EkxPageGet();
    
                EkxInputCtrl ekx = eKp.FindEkxInputCtrl(ctrlId);
    
                if(ekx==null)
                {
                    return OperResult.ToError("没有找到控件" + ctrlId);
                }
    
                string dcName = ekx.SaveValueDataColumnNameGet();
    
              
                bool bFlag = BaseCheckUnique8Params
                    (
                        pkId,
                        dcName,
                        ignoreCase,
                        inputValue,
                        ekx.EmSaveValueLogicV,
                        xdbHelper
                    );
    
                if (bFlag)
                {
                    return OperResult.ToSucc("");
                }
                else
                {
                    return OperResult.ToError("代号不唯一");
                }
            }
    
    
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult BaseCheckUnique()
            {
                OperResult op = null;
    
                try
                {
                    op = BaseCheckUniqueOper(null);
                }
                catch (Exception err)
                {
                    op = DetailSaveOperResult.DetailSaveToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
    
    
            #endregion 唯一性校验
    

    几个辅助代码:
    1、
    通过控件ID找到EkxInputCtrl
    // ZNBM\eKing.EkPageCreate\WebCtrls\EkxPage.cs
    // FindEkxInputCtrl
    
            /// <summary>
            /// 找到输入控件
            /// </summary>
            /// <param name="ctrlId">通过控件ID(ctrlId)找到EkxInputCtrl</param>
            /// <returns></returns>
            public EkxInputCtrl FindEkxInputCtrl(string ctrlId)
            {
                if (ctrlId == null || ctrlId.Length == 0)
                    return null;
    
                // 获得Form的表单 //
                List<EkxForm> formList = FormListGet();
                List<EkxInputCtrl> ctrlList = null;
    
                foreach (EkxForm f in formList)
                {
                    if (f == null)
                        continue;
    
                    ctrlList = f.CtrlListGet();
    
                    if (ctrlList == null)
                        continue;
    
                    foreach (EkxInputCtrl ekx in ctrlList)
                    {
                        if (ekx == null)
                            continue;
    
                        if (ekx.PkId == ctrlId)
                            return ekx;
                    }
                }
    
                return null;
            }
    

    2、
    获得校验对应的字段名
    // ZNBM\eKing.EkPageCreate\WebCtrls\EkxInputCtrls\ICtrlSaveValue.cs
    
            /// <summary>
            /// 获得保存值的字段名
            /// </summary>
            /// <returns></returns>
            public string SaveValueDataColumnNameGet()
            {
                string str = SaveValueDataColumnName;
    
                if (str == null || str.Length == 0)
                    return ConvertToDataColumName();
    
                if (str == "-")
                    return "";
    
                return str;
            }
    
    
    
            /// <summary>
            /// 转义控件的字段名
            /// </summary>
            /// <returns></returns>
            public string ConvertToDataColumName()
            {
                string strId = GetCtrlId();
    
                if (strId == null)
                    return "";
    
                int idx = strId.IndexOf("_");
    
                if (idx == -1)
                    return strId;
    
                return strId.Substring(idx + 1);
            }
    
    

    3、
    转义保存值
    // ZNBM\eKing.EkPageCreate\Utils\Common\ConvertUtil.cs
    
            /// <summary>
            /// 通过EmSaveValueLogic转义值类型
            /// </summary>
            /// <param name="str"></param>
            /// <param name="em"></param>
            /// <returns></returns>
            public object SaveValueGetValueObj
                (
                    string str,
                    eKing.EkPageCreate.Enums.SaveValueLogic.EmSaveValueLogic em
                )
            {
                switch (em)
                {
                    default:
                    case Enums.SaveValueLogic.EmSaveValueLogic.字符串:
                        return str;
                    case Enums.SaveValueLogic.EmSaveValueLogic.字符串Trim:
                        if (str == null)
                            return str;
    
                        return str.Trim();
                    case Enums.SaveValueLogic.EmSaveValueLogic.时间:
                        return DateTimeNullConvertTo(str);
                    case Enums.SaveValueLogic.EmSaveValueLogic.时间月:
                        return DateTimeMonthNullConvertTo(str);
                    case Enums.SaveValueLogic.EmSaveValueLogic.布尔:
                        if (str == "true" || str == "1")
                            return "1";
                        else
                            return "0";
                }
            }
    



  • // Management\Classes\ZNBM\ZnbmCommonController.cs //
    // BaseCheckUnique
    
    
    
            #region 唯一性校验
    
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <param name="pkId"></param>
            /// <param name="dcName"></param>
            /// <param name="ignoreCase"></param>
            /// <param name="inputValue"></param>
            /// <param name="emSVL"></param>
            /// <param name="xdbHelper"></param>
            /// <returns></returns>
            protected bool BaseCheckUnique8Params
                (
                    string pkId,
                    string dcName,
                    bool ignoreCase,
                    string inputValue,
                    eKing.EkPageCreate.Enums.SaveValueLogic.EmSaveValueLogic emSVL,
                    DBHelper xdbHelper
                )
            {
    
                bool theResult = true;
    
                bool bIsCreate = true;
    
                if (xdbHelper == null)
                {
                    xdbHelper
                        =
                        SlowX.DAL.Helpers.DBHelper.CreateDBHelper();
                }
                else
                {
                    // 没有打开链接 //
                    bIsCreate = xdbHelper.IsNotOpen();
                }
    
                try
                {
                    if (bIsCreate)
                        xdbHelper.OpenDBHelper();
    
                    BaseBusiness
                        bll
                        =
                        BaseBusinessCurGet();
    
                    BaseEntity
                        entity
                        =
                        bll.CreateBaseEntity();
    
                    IQueryDriver iq = entity;
                    EntityFieldInfo pkInfo = entity.GetIDEntityFieldInfo();
                    EntityFieldInfo dcInfo = entity.GetExistEntityFieldInfo(dcName);
    
                    if (pkId == null || pkId.Length == 0)
                    {
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                pkInfo,
                                SlowX.DAL.Enums.SqlLink.EmSqlLink.NotEqual,
                                null
                            );
                    }
                    else
                    {
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                pkInfo,
                                SlowX.DAL.Enums.SqlLink.EmSqlLink.NotEqual,
                                pkId
                            );
                    }
    
                    if (inputValue == null)
                    {
                        inputValue = "";
                    }
                    else
                    {
                        if (ignoreCase)
                        {
                            inputValue = inputValue.ToLower();
                        }
                    }
    
                    eKing.EkPageCreate.Utils.CommonUtil
                        cu
                        =
                        eKing.EkPageCreate.Utils.CommonUtil.instance;
    
                    // 转义值类型 //
                    object oValue = cu.SaveValueGetValueObj
                        (
                            inputValue,
                            emSVL
                        );
    
                    if (ignoreCase)
                    {
                        // theCode == theCode //
                        iq.AddIQueryItemWithEntityFieldInfo
                            (
                                dcInfo, 
                                SlowX.Core.Enums.StringCase.EmStringCase.小写,
                                oValue
                            );
                    }
                    else
                    {
                        iq.AddIQueryItemWithEntityFieldInfo(dcInfo, oValue);
                    }
    
                    // 不存在表示唯一 //
                    theResult = !bll.IsExist(entity, xdbHelper);
    
                    if (bIsCreate)
                        xdbHelper.EndDBHelper();
    
                }
                catch (Exception err)
                {
                    if (bIsCreate)
                        xdbHelper.TranDBHelper();
    
                    throw err;
                }
                finally
                {
                    if (bIsCreate)
                        xdbHelper.FinallyDBHelper();
                }
    
                return theResult;
            }
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <param name="xdbHelper">数据库链接串</param>
            /// <returns></returns>
            protected OperResult
                BaseCheckUniqueOper(DBHelper xdbHelper)
    
            {
                // Http参数过来的相关的参数名 //
                HttpContextName hcn = HttpContextName.instance;
    
                // 获得关键字 //
                string pkId = Request.Form[hcn._id];
                // 获得输入值 //
                string inputValue = Request.Form[hcn.InputValue];
                // 是否忽略大小写 //
                bool ignoreCase = (Request.Form[hcn.IgnoreCase] == "1");
                // 找到控件 //
                string ctrlId = Request.Form[hcn.CtrlId];
    
                eKing.EkPageCreate.WebCtrls.EkxPage eKp
                    =
                    EkxPageGet();
    
                EkxInputCtrl ekx = eKp.FindEkxInputCtrl(ctrlId);
    
                if(ekx==null)
                {
                    return OperResult.ToError("没有找到控件" + ctrlId);
                }
    
                string dcName = ekx.SaveValueDataColumnNameGet();
    
              
                bool bFlag = BaseCheckUnique8Params
                    (
                        pkId,
                        dcName,
                        ignoreCase,
                        inputValue,
                        ekx.EmSaveValueLogicV,
                        xdbHelper
                    );
    
                if (bFlag)
                {
                    return OperResult.ToSucc("");
                }
                else
                {
                    return OperResult.ToError("代号不唯一");
                }
            }
    
    
    
            /// <summary>
            /// 唯一性校验
            /// </summary>
            /// <returns>OperResult[IsSucc:是否成功;Msg:结果提示]</returns>
            public ActionResult BaseCheckUnique()
            {
                OperResult op = null;
    
                try
                {
                    op = BaseCheckUniqueOper(null);
                }
                catch (Exception err)
                {
                    op = DetailSaveOperResult.DetailSaveToError("发生异常:" + err.Message);
                    BaseWriteException(err);
                }
    
                ContentResult theResult = new ContentResult();
                theResult.ContentEncoding = UTF8Encoding.UTF8;
                theResult.ContentType = MIMETypes.Json;
                theResult.Content = op.ToJson();
    
                return theResult;
            }
    
    
    
            #endregion 唯一性校验
    
  • // Management\Content\js\ZNBM\znbm.ekcheck.js
    // EkJudgeValidateByThis
    
    
        // 获得扩展校验 //
        var validExtendCodeV = $(selfThis).attr("validextendcode");
    
        if (validExtendCodeV == undefined)
            return validateFlag;
    
        if (validExtendCodeV == null || validExtendCodeV == "")
            return validateFlag;
    
        if (validExtendCodeV == "basenocasecheckunique")
        {
            // 封装的唯一性校验(忽略大小写) //
            validateFlag = BaseJsCheckInput4CheckUnique(pkId, true, selfThis, valueThis);
        }
        else if (validExtendCodeV == "basecheckunique") {
            // 封装的唯一性校验(不忽略大小写) //
            validateFlag = BaseJsCheckInput4CheckUnique(pkId, false, selfThis, valueThis);
        }
        else {
            // 必须扩展JS中有 JsCheckInput4ExtendCode 这个方法 //
            validateFlag = JsCheckInput4ExtendCode(pkId, selfThis, valueThis, validExtendCodeV);
        }
    
        // 保护代码 //
        if (validateFlag == undefined)
            return true;
    
        return validateFlag;
    
  • // \Management\Content\js\ZNBM\znbm.ekcheck.js
    // BaseJsCheckInput4CheckUnique 方法
    // 设置JS校验 //
    
    
    // 唯一性校验 //
    function BaseJsCheckInput4CheckUnique(pkId, ignoreCase, selfThis, valueThis) {
        // 校验唯一性 //
        // 获得控件值 //
        var ctrlValue = EkGetCtrlValue(valueThis);
    
        // 获得控件id //
        var ctrlId = EkGetCtrlId(selfThis);
    
        // 校验代号的唯一性 //
        // 调用的MVC地址 //
        var ajaxUrl = "BaseCheckUnique";
    
        // 获得搜索的数据 //
        var ajxData = [];
    
        // 关键字 //
        ajxData.push({ name: "_id", value: pkId });
    
        // 是否忽略大小写 //
        if (ignoreCase) {
            ajxData.push({ name: "ignorecase", value: "1" });
        }
        else {
            ajxData.push({ name: "ignorecase", value: "0" });
        }
    
        // 控件id //
        ajxData.push({ name: "ctrlid", value: ctrlId });
    
        // 输入值 //
        ajxData.push({ name: "inputvalue", value: ctrlValue });
    
        var theResult = false;
        var errMsg = "";
    
        $.ajax({
            cache: false,
            async: false, // 这里用false,不走异步模式 //
            url: ajaxUrl,
            type: "post",
            data: ajxData,
            success: function (rData) {
                if (rData == null) {
                    theResult = false;
                }
                else {
                    theResult = rData.IsSucc;
                    errMsg = rData.Msg;
                }
            }
        });
    
        if (theResult)
            return true;
    
        if (errMsg == null || errMsg == "")
            errMsg = "唯一校验失败";
    
        EkChangeCss(selfThis, errMsg);
    
        return false;
    }
     
    
  • // ZNBM\eKing.EkPageCreate\WebCtrls\EkxInputCtrls\IValidCtrl.cs //
    // 设置扩展校验的代号 //
    
            /// <summary>
            /// <para>获得扩展校验的代号,缺省根据校验类型做判断</para>
            /// <para>唯一性校验:checkunique</para>
            /// <para>关联校验:rc</para>
            /// </summary>
            /// <returns></returns>
            public string ValidExtendCodeGet()
            {
                if (ValidExtendCode != null)
                    return ValidExtendCode;
    
                switch (EmValidFlagV)
                {
                    case Enums.ValidFlag.EmValidFlag.不校验:
                        return "";
                    case Enums.ValidFlag.EmValidFlag.自定义唯一性校验:
                        return "checkunique";
                    case Enums.ValidFlag.EmValidFlag.忽略大小写唯一性校验:
                        return "basenocasecheckunique";
                    case Enums.ValidFlag.EmValidFlag.完全唯一性校验:
                        return "basecheckunique";
                    case Enums.ValidFlag.EmValidFlag.校验:
                        return "";
                    default:
                        return "";
                }
    
            }
    
  • // ZNBM\eKing.SzdfPage\Areas\ZnbmJygl\JYGL\JyglHylx\EkSzdfDetailForm__Page.cs
    
    #region TheCode - 代号
    
                // TheCode - 代号
                ekx = _TheCode;
                ivc = ekx;
                ivc.EmValidFlagV
                    = 
                    EkPageCreate.Enums.ValidFlag.EmValidFlag.忽略大小写唯一性校验;
    
                #endregion TheCode - 代号
    
  • // ZNBM\eKing.EkPageCreate\Utils\Common\ConvertUtil.cs
    
            /// <summary>
            /// 通过EmSaveValueLogic转义值类型
            /// </summary>
            /// <param name="str"></param>
            /// <param name="em"></param>
            /// <returns></returns>
            public object SaveValueGetValueObj
                (
                    string str,
                    eKing.EkPageCreate.Enums.SaveValueLogic.EmSaveValueLogic em
                )
            {
                switch (em)
                {
                    default:
                    case Enums.SaveValueLogic.EmSaveValueLogic.字符串:
                        return str;
                    case Enums.SaveValueLogic.EmSaveValueLogic.字符串Trim:
                        if (str == null)
                            return str;
    
                        return str.Trim();
                    case Enums.SaveValueLogic.EmSaveValueLogic.时间:
                        return DateTimeNullConvertTo(str);
                    case Enums.SaveValueLogic.EmSaveValueLogic.时间月:
                        return DateTimeMonthNullConvertTo(str);
                    case Enums.SaveValueLogic.EmSaveValueLogic.布尔:
                        if (str == "true" || str == "1")
                            return "1";
                        else
                            return "0";
                }
            }
    
  • // ZNBM\eKing.EkPageCreate\WebCtrls\EkxInputCtrls\ICtrlSaveValue.cs
    
            /// <summary>
            /// 获得保存值的字段名
            /// </summary>
            /// <returns></returns>
            public string SaveValueDataColumnNameGet()
            {
                string str = SaveValueDataColumnName;
    
                if (str == null || str.Length == 0)
                    return ConvertToDataColumName();
    
                if (str == "-")
                    return "";
    
                return str;
            }
    
    
    
            /// <summary>
            /// 转义控件的字段名
            /// </summary>
            /// <returns></returns>
            public string ConvertToDataColumName()
            {
                string strId = GetCtrlId();
    
                if (strId == null)
                    return "";
    
                int idx = strId.IndexOf("_");
    
                if (idx == -1)
                    return strId;
    
                return strId.Substring(idx + 1);
            }
    
    
  • // ZNBM\eKing.EkPageCreate\WebCtrls\EkxPage.cs
    // FindEkxInputCtrl
    
            /// <summary>
            /// 找到输入控件
            /// </summary>
            /// <param name="ctrlId">通过控件ID(ctrlId)找到EkxInputCtrl</param>
            /// <returns></returns>
            public EkxInputCtrl FindEkxInputCtrl(string ctrlId)
            {
                if (ctrlId == null || ctrlId.Length == 0)
                    return null;
    
                // 获得Form的表单 //
                List<EkxForm> formList = FormListGet();
                List<EkxInputCtrl> ctrlList = null;
    
                foreach (EkxForm f in formList)
                {
                    if (f == null)
                        continue;
    
                    ctrlList = f.CtrlListGet();
    
                    if (ctrlList == null)
                        continue;
    
                    foreach (EkxInputCtrl ekx in ctrlList)
                    {
                        if (ekx == null)
                            continue;
    
                        if (ekx.PkId == ctrlId)
                            return ekx;
                    }
                }
    
                return null;
            }
    

上一条:

下一条:


 

相关评论

评论加载中……
 

发表评论

类型:
内容:
  (Alt+Enter)
 
  ┈全部┈  
 
(显示默认分类)