あれ?ViewStateが空になる。。。

とあるプロジェクトでページロード(ブラウザ)で ViewState が空になってしまい次回のポストバック時に ViewStateException がスローされるとかいう現象に遭遇。

実際に描画された HTML にはしっかり ViewState に値が入っているんだけれど、body の onload が終了したときには ViewState が空になっているという不思議な現象に遭遇しました。


<body>
...
<input type="hidden" id="__VIEWSTATE" value="......." />
...
<script type="text/javascript">
// これは値が表示される
alert(document.getElementById("読み込み中:" + "__VIEWSTATE").value);
document.body.onload = function () {
// この時点では空
alert(document.getElementById("body.onload:" + "__VIEWSTATE").value);
}
</script>
</body>

とりあえず、とっておいて入れなおせば先には進むけれど。。。
考え中なのでこっちにポスト


<body>
...
<input type="hidden" id="__VIEWSTATE" value="......." />
...
<script type="text/javascript">
var viewState = document.getElementById("__VIEWSTATE").value;
document.body.onload = function () {
document.getElementById("__VIEWSTATE").value = viewState;
}
</script>
</body>