/// <summary> /// 绑定表单 /// </summary> public void Bind() { // 绑定值到模型 OnBind(); // 把模型中的值设置到字段 Pair <object, PropertyInfo> property; foreach (var field in Form.Fields) { if (FieldToProperty.TryGetValue(field, out property)) { field.Value = property.Second.FastGetValue(property.First); } } }
/// <summary> /// 提交表单,返回处理结果 /// </summary> /// <returns></returns> public object Submit() { // 把提交的值设置到模型 var submitValues = Request.GetAllDictionary(); var values = Form.ParseValues(submitValues); Pair <object, PropertyInfo> property; foreach (var field in Form.Fields) { var value = values.GetOrDefault(field.Attribute.Name); if (FieldToProperty.TryGetValue(field, out property)) { value = value.ConvertOrDefault(property.Second.PropertyType, null); if (value != null) { property.Second.FastSetValue(property.First, value); } } } // 调用提交时的处理 return(OnSubmit()); }