Is it possible to set asp.net control property values in code behind without adding it to viewstate?
<p>I want to assign values to server control properties in my code behind to "initialize" a form. I don't need/want these values to be added to the viewstate. (I know I can disable viewstate for a specific control, but I need viewstate as some values may change and need to be persisted during postbacks.)</p>

<p>At the moment for me it seems its not possible to load these values in code without having them added to the viewstate.</p>

<p>As I understand the following happens:</p>

<p>Page: PreInit</p>

<blockquote>
  <p>I could add values to SOME controls (its working for example with a literal control to set the text value) here BUT since control's init methods are executed later I cannot for example find a RegisterUser control and its child controls at this stage yet, they are still null. > so no solution in this specific case, there's more cases</p>
</blockquote>

<p>Control: Init</p>

<blockquote>
  <p>I cannot reach this point from within my page, this can only be used inside the user control code for example when you write your own usercontrol and want to initialize its values, I ofcourse dont want to create my own control for each control I need to initialize with executing some logic first.</p>
</blockquote>

<p>Control: TrackViewState</p>

<blockquote>
  <p>Viewstate Tracking is enabled so from here on after anything I set will be marked as 'dirty' and therefore added to the viewstate.
  Page:Init
  Page:TrackViewState</p>
</blockquote>

<p>So am I right in saying:</p>

<p>In code behind, without disabling a controls viewstate property..</p>

<ul>
<li>You can initialize "1st level" child control properties from the page control in the PreIinit method without having the value being added to the viewstate.</li>
<li>You cannot initialize Child control properties from controls that are "1st level" child controls of the page without having the value added to the viewstate.
?</li>
</ul>

<p>Then,</p>

<ul>
<li>You can initialize control properties declaratively by using resources, but this does not circumvent the scenario where you need to execute logic</li>
<li>You can execute logic by using databinding syntax but you would have to manually call databind on the control having the same issues as above</li>
</ul>

<p>Is there no way to iterate a set of controls/child controls and initiate values in code behind withouth having these values added to the viewstate?</p>
