/// <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()); }
/// <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); }
/// <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()); }
/// <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()); }