title: How to save value across postbacks for a composite control without using viewstate
body: <p>I have a composite control that has a couple of private fields that reference values in the cache and these private fields are called during the constructor method.  Since a string key is used to identify the value in the cache, I must have a way of storing that string key in such a way that it is available at the time the control is instantiated, and I have to be able to reference it on postbacks without it changing.</p>
  
  <p>In addition, this key is generated the first time the control is loaded, but it should not be changed again after that first time.</p>
  
  <p>How can I accomplish this?</p>
  
  <p>I have already tried saving it to viewstate, but that doesn't work because viewstate is not yet available at the time the control is instantiated.</p>
  
  <p>I have tried using a private field and then checking against Page.IsPostback in the constructor and if it isn't postback, I assign a value to the private field, but on subsequent postbacks it looses it's value, and I can't reassign it in the Page.IsPostBack again because it is an autogenerated GUID.</p>
  
  <p>This has got to be something folks have had to do before....</p>