public override string Render() { if (Visiable) { if (!this.Value.IsNullOrEmpty()) { string[] timeRangeArr = this.Value.Split(','); DefaultStartValue = timeRangeArr[0]; if (timeRangeArr.Length > 1) { DefaultEndValue = timeRangeArr[1]; } } if (Name.IsNullOrEmpty()) { Name = Id; } if (!DefaultStartValue.IsNullOrEmpty()) { DefaultStartValue = Env.Parse(DefaultStartValue); } if (!DefaultEndValue.IsNullOrEmpty()) { DefaultEndValue = Env.Parse(DefaultEndValue); } DatePicker sdt = new DatePicker() { Value = DefaultStartValue, ShowPreNextButton = false, CssClass = this.CssClass, DateTimeFormat = this.DateTimeFormat, GreaterThanToday = this.GreaterThanToday, Maximum = this.Maximum, Minimum = this.Minimum, ShowWeek = this.ShowWeek, Id = NamingCenter.GetTimeRangeDatePickerStartId(this.Name), Name = NamingCenter.GetTimeRangeDatePickerStartId(this.Name), MaxDateControl = NamingCenter.GetTimeRangeDatePickerEndId(this.Name) }; DatePicker edt = new DatePicker() { Value = DefaultEndValue, ShowPreNextButton = false, CssClass = this.CssClass, DateTimeFormat = this.DateTimeFormat, GreaterThanToday = this.GreaterThanToday, Maximum = this.Maximum, Minimum = this.Minimum, ShowWeek = this.ShowWeek, Id = NamingCenter.GetTimeRangeDatePickerEndId(this.Name), Name = NamingCenter.GetTimeRangeDatePickerEndId(this.Name), MinDateControl = NamingCenter.GetTimeRangeDatePickerStartId(this.Name) }; string result = "<label>从 </label>{0}<label> 到 </label>{1}".FormatTo(sdt.Render(), edt.Render()); return(ContainerTemplate.FormatTo(Id, Label, result, Description)); } return(string.Empty); }
public void SetTarget(IList <IControl> components) { if (!Fields.IsNullOrEmpty()) { var formData = new FoxOneDictionary <string, object>(StringComparer.OrdinalIgnoreCase); string key = string.Empty; var request = HttpContext.Current.Request; foreach (var f in Fields) { if (f is TimeRangePicker) { //日期范围控件特殊处理 var dt = f as TimeRangePicker; if (!dt.DefaultStartValue.IsNullOrEmpty()) { formData.Add(NamingCenter.GetTimeRangeDatePickerStartId(dt.Name), DateTime.Parse(Env.Parse(dt.DefaultStartValue)).ToString(dt.DateTimeFormat)); } if (!dt.DefaultEndValue.IsNullOrEmpty()) { formData.Add(NamingCenter.GetTimeRangeDatePickerEndId(dt.Name), DateTime.Parse(Env.Parse(dt.DefaultEndValue)).ToString(dt.DateTimeFormat)); } } else if (f is DatePicker) { if (!f.Value.IsNullOrEmpty()) { key = f.Name.IsNullOrEmpty() ? f.Id : f.Name; var d = f as DatePicker; formData.Add(key, DateTime.Parse(Env.Parse(f.Value)).ToString(d.DateTimeFormat)); } } else { if (!f.Value.IsNullOrEmpty()) { key = f.Name.IsNullOrEmpty() ? f.Id : f.Name; if (!request.Form.AllKeys.Contains(key) && !request.QueryString.AllKeys.Contains(key)) { formData.Add(key, Env.Parse(f.Value)); } } } } foreach (var c in components) { if (c is IListDataSourceControl) { var ds = (c as IListDataSourceControl).DataSource; if (ds != null) { if (ds.Parameter == null) { ds.Parameter = formData; } else { var dict = ds.Parameter as Dictionary <string, object>; foreach (var f in formData.Keys) { dict[f] = formData[f]; } } } } } } }