コード例 #1
0
        /// <summary>
        /// 绑定对象
        /// </summary>
        /// <param name="page"></param>
        /// <param name="info"></param>
        /// <param name="saveButton"></param>
        /// <param name="validationType"></param>
        /// <param name="ormProperties"></param>
        public static string BindEntity(this Page page, object info, Button saveButton, ValidationType validationType, IList <OrmPropertyInfo> ormProperties)
        {
            if (info == null || page.Form == null)
            {
                return("");
            }
            var script = saveButton != null?ScriptValidationPageExtension.GetValidateScript(saveButton) : new StringBuilder();

            IList <ValidationInfo> valids = Creator.Get <IValidation>().GetValidations(info.GetType());

            BindControlValue(info, page.Form.Controls, script, ormProperties, valids, validationType);
            return(script == null ? "" : script.ToString());
        }
コード例 #2
0
        /// <summary>
        /// 设置控件的值
        /// </summary>
        /// <param name="info"></param>
        /// <param name="ctrl"></param>
        /// <param name="script"></param>
        /// <param name="ormProperties"></param>
        /// <param name="valids"></param>
        /// <param name="type"></param>
        private static void SetControlValue(object info, Control ctrl, StringBuilder script, IList <OrmPropertyInfo> ormProperties, IList <ValidationInfo> valids, ValidationType type)
        {
            if (valids != null)
            {
                ScriptValidationPageExtension.SetControlEnableAndClientValidate(ctrl, script, ormProperties, valids, type);
            }
            object value = GetBindValue(info, ctrl);

            if (value == null)
            {
                return;
            }
            InvokeSetControlValueHandler(ctrl, value);
        }
コード例 #3
0
        /// <summary>
        /// 绑定客户端脚本验证
        /// </summary>
        /// <param name="page"></param>
        /// <param name="saveButton"></param>
        /// <param name="entityType"></param>
        /// <param name="type"></param>
        /// <param name="properties"></param>
        public static string SetEntity(this Page page, Button saveButton, Type entityType, ValidationType type, IList <OrmPropertyInfo> properties)
        {
            if (saveButton == null)
            {
                return("");
            }
            IList <ValidationInfo> valids = Winner.Creator.Get <IValidation>().GetValidations(entityType);

            if (valids == null || valids.Count == 0)
            {
                return("");
            }
            StringBuilder script = ScriptValidationPageExtension.GetValidateScript(saveButton);

            ScriptValidationPageExtension.BindControlClientValidate(page.Form.Controls, script, properties, valids, type);
            return(script.ToString());
        }
コード例 #4
0
        /// <summary>
        /// 绑定客户端脚本验证
        /// </summary>
        /// <param name="page"></param>
        /// <param name="saveButton"></param>
        /// <param name="entityTypes"></param>
        /// <param name="type"></param>
        public static string SetEntity(this Page page, Button saveButton, IDictionary <Type, string> entityTypes, ValidationType type)
        {
            if (saveButton == null)
            {
                return("");
            }
            var validateNames = new List <string>();
            var script        = new StringBuilder();
            var i             = 0;

            foreach (var entityType in entityTypes)
            {
                OrmObjectInfo orm = Winner.Creator.Get <IOrm>().GetOrm(entityType.Key.FullName);
                if (orm == null)
                {
                    continue;
                }
                var validateName = i == 0 ? "validator" : string.Format("validator{0}", i);
                IList <ValidationInfo> valids = Winner.Creator.Get <IValidation>().GetValidations(entityType.Key);
                if (valids == null || valids.Count == 0)
                {
                    return("");
                }
                ScriptValidationPageExtension.BindControlClientValidate(page.Form.Controls, script, orm.Properties, valids, type, validateName, entityType.Value);
                script.Insert(0, string.Format("var {0}=new Winner.Validator(); {0}.Initialize();", validateName));
                validateNames.Add(validateName);
                i++;
            }
            script.AppendFormat("$('#{0}').click(function()", saveButton.ClientID);
            script.Append("{");
            i = 0;
            foreach (var validateName in validateNames)
            {
                script.AppendFormat("{0} {1}.ValidateSubmit(){2}", i == 0?"":"&&", validateName, i == validateNames.Count - 1?";":"");
                i++;
            }
            script.Append("});");
            return(script.ToString());
        }