/// <summary> /// Saves the view state. /// </summary> /// <returns></returns> protected object SaveViewState <T>(T itemCollection) { var baseState = base.SaveViewState(); object itemsState = null; var count = 0; var countProperty = itemCollection.GetType().GetProperty("Count"); if (countProperty != null) { int.TryParse(countProperty.GetValue(itemCollection, null).ToString(), out count); } if ((itemCollection != null) && (count > 0)) { itemsState = ((IStateManager)itemCollection).SaveViewState(); } if (Should.AnyBeNonNull(baseState, itemsState)) { var savedState = new object[] { baseState, itemsState }; return(savedState); } return(null); }