예제 #1
0
        /// <summary>
        /// 将表单上的控件值更新到模型
        /// </summary>
        /// <typeparam name="T">模型类型</typeparam>
        /// <param name="form">表单</param>
        /// <param name="model">模型实例</param>
        /// <exception cref="ArgumentNullException"></exception>
        public static void UpdateModel <T>(this HtmlForm form, T model)
        {
            if (model == null)
            {
                throw new ArgumentNullException();
            }

            var keyValues = form.GetAllControls()
                            .Select(item => new { item.ID, Value = GetControlValue(item) })
                            .Where(item => item.Value.Key)
                            .ToDictionary(k => k.ID, v => v.Value.Value, StringComparer.OrdinalIgnoreCase);

            Converter.UpdateModel <T>(model, keyValues);
        }
예제 #2
0
        /// <summary>
        /// 后台验证表单下控件输入是否通过
        /// 如果失败则将提示信息输出到UI
        /// </summary>
        /// <param name="form">表单</param>
        /// <returns></returns>
        public static bool IsValid(this HtmlForm form)
        {
            var ctrls = form.GetAllControls();

            foreach (var ctrl in ctrls)
            {
                var input = ctrl as HtmlInputControl;
                if (input != null && input.IsValid() == false)
                {
                    return(false);
                }

                var textArea = ctrl as HtmlTextArea;
                if (textArea != null && textArea.IsValid() == false)
                {
                    return(false);
                }

                var select = ctrl as HtmlSelect;
                if (select != null && select.IsValid() == false)
                {
                    return(false);
                }

                var textBox = ctrl as TextBox;
                if (textBox != null && textBox.IsValid() == false)
                {
                    return(false);
                }

                var dropdownList = ctrl as DropDownList;
                if (dropdownList != null && dropdownList.IsValid() == false)
                {
                    return(false);
                }
            }
            return(true);
        }