/// <summary> /// 根据新的过滤部分预取 URL,同时页序号被重置为初始值 /// </summary> /// <param name="fieldName"></param> /// <param name="value"></param> /// <returns></returns> public string PrefetchNewFilterUrl(string fieldName, string value) { fieldName = RetrieveFieldName(fieldName); if (IsDefaultValue(fieldName, value)) { return PrefetchNewFilterUrlImpl(fieldName, null); } else { IFilterPart filter = new TermStringFilterPart(fieldName, value); return PrefetchNewFilterUrlImpl(fieldName, filter); } }
/// <summary> /// 设置过滤部分 /// </summary> /// <param name="fieldName"></param> /// <param name="value"></param> public void SetFilter(string fieldName, string value) { fieldName = RetrieveFieldName(fieldName); IFilterPart existed = null; foreach (IFilterPart filter in this.m_filters) { if (string.Compare(filter.FieldName, fieldName, true) == 0) { existed = filter; break; } } if (IsDefaultValue(fieldName, value)) { if (existed != null) { this.m_filters.Remove(existed); this.MarkDirty(); } return; } TermStringFilterPart part = existed as TermStringFilterPart; if (part != null) { if (part.Value != value) { part.Value = value; this.MarkDirty(); } return; } else if (existed != null) { this.m_filters.Remove(existed); } part = new TermStringFilterPart(fieldName, value); this.m_filters.Add(part); this.MarkDirty(); }