ViewState in ASP.NET can store objects, but the object must be serializable. Objects marked with the [Serializable] attribute or those with a TypeConverter can be stored in ViewState. Non-serializable objects cannot be persisted because ViewState needs to convert objects to a string format for transport.