C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 126 を表示中)
■74819 / )  Re[4]: ASP.NETでの動的コントロールについて初歩的な質問
□投稿者/ mura (3回)-(2015/01/30(Fri) 19:34:02)
度々申し訳ありません。

> どう違うかは先に紹介した記事「変更系イベント発生のメカニズム」をよく読んでもらえば分かると思い
> ます。読んでも分からなかったらまた質問してください。

当該記事と、下のほうにあったリンクから「ViewStateの構造」を拝見いたしました。

・初期表示の段階では、ViewStateはページを生成した状態がサーバーから送られてくるので、
 ViewState内のテキストボックスの状態には「初期値」が入ってくる
・クライアント側でクリックしてポストバックが発生すると、クライアントからはViewStateとformを
 サーバーへ送信する。ViewStateはサーバーから受け取ったそのままを送信する(「初期値」)。
 form情報には「ABC」が入っている
・サーバーでLoadViewStateメソッドが発生するが、ViewStateの内容は「初期値」なので
 「初期値」がテキストボックスにセットされる
・LoadPostDataメソッドで、テキストボックスとform情報を比較し、form情報内では「ABC」が入っているので、
 テキストボックスに「ABC」がセットされる
・その状態でページが生成されるので、ViewStateのテキストは「ABC」で送られてくる

というような理解であっていますでしょうか。
ViewStateとformの違いも理解しておらず大変恐縮です。


> [1] のコードが無いということは、ポストパックで TextBox を生成しないということだからポストバック
> 時は TextBox インスタンスが存在しない。存在しない TextBox の Text プロパティには、当たり前です
> が、LoadViewState メソッドでも LoadPostData メソッドでも設定しようが無いということです。
[1]のコードがない場合は感覚的に、LoadPostDataの時点で、「DynamicTextBoxというテキストボックスが
ありません」というエラーが発生するような感じがするのですが、これは例外とはせず、なにもしないで
終わってしまうという感じなんですね。

返信 編集キー/


管理者用

- Child Tree -