質問: false) { //テキストのreadonlyの設定等 ......... } } ------------------------------------------------------------- テキストボックスが変更された時には、 必ずpage_loadイベントが起こるのでしょうか? また、テキストボックスを変更したときには page_loadイベントを起こさない方法はあるのでしょうか? 初歩的な質問ですみません・・・。 お手数ですがご教授頂きますよう 宜しくお願いいたします。
回答: windows formsでの開発をしたことがあるとみましたが、どうでしょうか? 普通のアプリでは、最初呼び出したときにloadが呼ばれ、表示されている間は基本的にまた呼び出されることがないというのを理解していると見ています。 さて、ネットではどうでしょうか。 基本的にieなどのブラウザで最初呼び出したときにloadが呼び出されるというのはイメージできるのだと思います。 ブラウザにaspxが表示されているので、ボタンを押したりしてもまたloadが呼び出されるというのが理解できないのだと思います。 httpなどでは、サーバーに各ユーザーがアクセスしてきて、今どういう状態にいるかという事を把握しません。(ステートレスといいます) つまり、アクセスしてくるたびに初期化されます。 しかし、これをうまく処理してくれているのがasp.netです。 viewstateなどで、状態を把握して前の状態がどうで、今回はこうなったからこういう処理しますねという事をやってくれます。 話が長くなりましたが、では、nekobさんのやりたい処理はどうするかというと、loadは必ずよばれますので、その中で処理を分けます。 page_load() { //毎回する処理を書きます .... if(ispostback) { //再度呼び出したい時にやる処理を書きます .... } else { //初回だけやりたい処理を書きます ..... } } こんな感じでしょうか。