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