- PR -

Postbackについて

1
投稿者投稿内容
こういち
会議室デビュー日: 2002/09/25
投稿数: 4
投稿日時: 2002-09-25 21:04
はじめまして。ASP.NETで検索のページを作成しています。

テキストボックスが一つとボタン一つのページで、テキストに文字列を入力し
ボタンをクリックするとDataGridに検索結果が表示されるページを作成しています。

一方のページでは、文字列を入力してENTERキーを押すと、Page_Loadイベント
とボタンクリックイベントが動作しますが、もう一方のページではPage_Loadイベント
しか発生しません。
テキストボックスのAutoPostBackプロパティはどちらのページもfalseです。
またTextChangedイベントも使用していません。

なぜこのような違いが出るのかわかりません。どこか確認するところなどありましたら
ご教授ください。
かげん
会議室デビュー日: 2002/07/17
投稿数: 12
投稿日時: 2002-09-26 00:29
かげんです。
 データ検索結果を DataGridに設定しているフォームとの事
 なのですが、DataBind処理が異なっていることありませんか?

 例えば
  A画面 Not IsPostBackの中に DatBind処理があり
  B画面 Not IsPostBackの外にあるとか・・・・

  ステップ実行で確認されていると思いますが、もう一度
 見られてはどうでしょうか?  
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2002-09-26 02:32
Private Sub button_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles button.Click

上記のようなイベントルーチンがあると思いますが(buttonの部分は
ボタン名により変わります)、最後の")"以後のHandles button.Click
という記述はありますか。
この部分がないとイベントルーチンとして認識されず呼び出されません。
こういち
会議室デビュー日: 2002/09/25
投稿数: 4
投稿日時: 2002-09-26 09:09
かげんさん、べーちゃんさん、ご助言ありがとうございます。

かげんさんがおっしゃっていた
>  A画面 Not IsPostBackの中に DatBind処理があり
>  B画面 Not IsPostBackの外にあるとか・・・・
というようにはなっていません。Page_Loadの処理ではsessionn変数に
ある文字列を代入しているだけで、Databindの処理はしていません。
Databindの処理が行われているのは、どちらの画面もボタンクリック
のイベントです。

べーちゃんさんがおっしゃっていた
>ボタン名により変わります)、最後の")"以後のHandles button.Click
>という記述はありますか。
も確認しましたが、記述されていました。

テキストボックスに文字列入力後、Enterキーを押して、Datagridにデータが
表示される画面をステップ実行すると、Page_Loadイベントの後に、なぜか
ボタンクリックのイベントも実行されています。

ボタンをクリックすれば、どちらも検索されるので機能的には問題ないのですが
できれば、Enterキーで検索できたほうが使い勝手がよさそうに思います。

うーん不思議です。
べーちゃん
大ベテラン
会議室デビュー日: 2002/07/21
投稿数: 121
投稿日時: 2002-09-26 11:36
こんばんわ、こういちさん。

>べーちゃんさんがおっしゃっていた
>も確認しましたが、記述されていました。

となるとお手上げなんですが、A画面とB画面ではどこが違うのでしょうか。
コード上の違い以外にも、ボタンの種類が違っているとか、テキストなんかでなく
動作に関係するプロパティに違いが無いかなども見た方がいいと思います。

DaikiRyuto
大ベテラン
会議室デビュー日: 2002/07/23
投稿数: 200
投稿日時: 2002-09-26 13:04
diffか何かでそれぞれのソースとページを比較してみて、差が出ませんか?
1

スキルアップ/キャリアアップ(JOB@IT)