title: System.Web.UI.ViewStateException ,Invalid viewstate
body: <p>My website is throwing the below exceptions everyday and i couldn't find the solution.
  i did few research in web and this is what i do so far. adding below option to aspx won't solve the problem.</p>
  
  <blockquote>
    <p>ValidateRequest="false" EnableEventValidation="false"
    ViewStateEncryptionMode="Never" EnableViewStateMac="false"</p>
  </blockquote>
  
  <p>Also, my Referral Url is the correct URL and i have no idea how it redirect with two (same) parameters. there is no such link in my referral page. Please help.</p>
  
  <p>ERROR LOG</p>
  
  <pre><code>URL : http://www.abcd.com/company-details.aspx?com=asia-pacific-pte-ltd&amp;com=asia-pacific-pte-ltd
  
  referral URL : http://www.abcd.com/companies/asia-pacific-pte-ltd/
  
  Inner Exception Type: System.Web.UI.ViewStateException
  
  Inner Exception: Invalid viewstate. Client IP: 192.162.19.193 Port: 1966 User-Agent: Opera/9.80 (Windows NT 6.1; WOW64; MRA 6.0 (build 6001)) Presto/2.12.388 Version/12.11 ViewState: /wEPDwULLTEyMTAyMTY3NDAPZBYCAgMPZBYOZg8QDxYGHg1EYXRhVGV4dEZpZWxkBQdDb3VudHJ5Hg5EYXRhVmFsdWVGaWVsZAUNQ2xlYW5fQ291bnRyeR4LXyFEYXRhQm91bmRnZBAVCgNBbGwFQ2hpbmEJSG9uZyBLb25nBUluZGlhCUluZG9uZXNpYQhNYWxheXNpYQtQaGlsaXBwaW5lcwlTaW5nYXBvcmUIVGhhaWxhbmQHVmlldG5hbRUKA0FsbAVjaGluYQlob25nLWtvbmcFaW5kaWEJaW5kb25lc2lhCG1hbGF5c2lhC3BoaWxpcHBpbmVzCXNpbmdhcG9yZQh0aGFpbGFuZAd2aWV0bmFtFCsDCmdnZ2dnZ2dnZ2dkZAIBDxAPFgYfAAUISW5kdXN0cnkfAQUOQ2xlYW5fSW5kdXN0cnkfAmdkEBXFAgNBbGwSQWR2YW5jZWQgTWF0ZXJpYWxzC0FkdmVydGlzaW5nCkFlc3RoZXRpY3MLQWdyaWN1bHR1cmUkQWdyaWN1bHR1cmUgLSBBZ3JpY3VsdHVyYWwgTWFjaGluZXJ5G0FncmljdWx0dXJlICYgRm9vZCBQcm9kdWN0cxBBaXItY29uZGl0aW9uaW5nHUFpci1maWx0cmF0aW9uICYgUHVyaWZpY2F0aW9uB0FpcnBvcnQJQWx1bWluaXVtFEFuYWx5dGljYWwgRXF1aXBtZW50GkFuYWx5dGljYWwgSW5zdHJ1bWVudGF0aW9uFUFuYWx5dGljYWwgVGVjaG5vbG9neRZBbmQgSW50ZXJpb3IgRGVzaWduZXJzEUFuaW1hbCBQcm9kdWN0aW9uCEFudGlib2R5KUFwc...
  
  Inner Source: 
  
  Exception Type: System.Web.HttpException
  
  Exception: The state information is invalid for this page and might be corrupted.
  
  Stack Trace: at System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) at System.Web.UI.HiddenFieldPageStatePersister.Load() at System.Web.UI.Page.LoadPageStateFromPersistenceMedium() at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.exhibition_details_aspx.ProcessRequest(HttpContext context) in c:\Windows\Microsoft.NET\Framework64\v2.0.50727\Temporary ASP.NET Files\root\0f461847\442b0502\App_Web_bfjqxdef.20.cs:line 0 at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously)
  </code></pre>
  
  <p><strong>UPDATE</strong>
  i have fixed the error by compressing the ViewState from below link
  <a href="http://www.codeproject.com/Articles/14733/ViewState-Compression" rel="nofollow">http://www.codeproject.com/Articles/14733/ViewState-Compression</a></p>
  
  <p>and fixed the  Invalid length for a Base-64 char array error by replacing the original method with this.</p>
  
  <pre><code>protected override object LoadPageStateFromPersistenceMedium()
      {
          string viewState = Request.Form["__VSTATE"];
          viewState = viewState.Replace(" ", "+");
  
          int mod4 = viewState.Length % 4;
          if (mod4 &gt; 0)
          {
              viewState += new string('=', 4 - mod4);
          }
          byte[] bytes = Convert.FromBase64String(viewState);
          bytes = Compressor.Decompress(bytes);
          LosFormatter formatter = new LosFormatter();
          return formatter.Deserialize(Convert.ToBase64String(bytes));
      }
  </code></pre>
  
  <p>Thanks everyone for help :)</p>