ページ上のコントロールは、ViewState に暗号化を使用するように要求できますが、この要求でさえページ設定によってオーバーライドできます。
ViewStateEncryptionMode 列挙には、Auto、Always、Never の 3 つの値があります。デフォルト値は自動です。
ViewStateEncryptionMode.Auto
このモードでは、ASP.NET は、ページ上のいずれかのコントロールが要求した場合に、ページの ViewState を暗号化します。これは、それを要求するコントロールの ViewState だけでなく、すべての ViewState が暗号化されることを意味することに注意してください。暗号化に関連するパフォーマンス コストの大部分は、オーバーヘッドにあります。したがって、複数のコントロールが要求を行う場合、ViewState 全体を暗号化する方が、個別の暗号化操作を行うよりも高速です。
ViewStateEncryptionMode.Never
ご想像のとおり、このモードでは、アプリケーションが暗号化用に設定されていて、ページ上のコントロールが要求した場合でも、ASP.NET は ViewState を暗号化しません。ページに含まれるデータを暗号化する必要がないことがわかっている場合は、モードを [なし] に設定しても安全です。ただし、現時点では、コントロールに関するドキュメントで ViewState に保存されている内容が開示されることはほとんどないため、機密データが公開される可能性がある場合は注意が必要です。
ViewStateEncryptionMode.Always
このモードでは、ASP.NET は、ページ内のコントロールが暗号化を要求するのを待ちません。ViewState は常に暗号化されます。機密データを扱う場合は、暗号化を利用することをお勧めします。
ソース: http://msdn.microsoft.com/en-us/library/aa479501.aspx