title: ViewState updates automatically while updating DataTable
body: <p>I am assigning a <strong>DataTable</strong> in a <strong>ViewState</strong>.</p>
  
  <pre><code>public void Method1()
  {    
      DataTable dt = getData(); //Gets the Data
  
      ViewState["dtThis"] = dt;
  }
  </code></pre>
  
  <p>Now when '<strong><em>Method2</em></strong>' executes <strong>ViewState</strong> will be assigned to <strong>DataTable</strong>.</p>
  
  <pre><code>public void Method2()
  {    
      DataTable dt2 = (DataTable)ViewState["dtThis"];
  
      dt2.Columns.Remove("FirstName");    //Removing a column
  
      dt2.AcceptChanges();
  }
  </code></pre>
  
  <p>Now after the execution of the <strong><em>Method2</em></strong> when I check <strong>(DataTable)ViewState("dtThis")</strong> its having DataTable <strong>dt2</strong> even if I didn't assign <strong>dt2</strong> back to <strong>ViewState("dtThis").</strong> (means the column - "FirstName" is removed in the ViewSate("dtThis") DataTable).</p>
  
  <p>Any idea why this type of behaviour of the ViewState?</p>
  
  <p>And how to maintain the original ViewState ?</p>