- PR -

ポストバックについて

1
投稿者投稿内容
JJ
会議室デビュー日: 2004/07/07
投稿数: 8
投稿日時: 2004-07-27 15:53
ある一覧画面(ページ1)ではデータがGridで表示されています。
そこで登録したいデータを選択し、登録ボタン(Template)を押すと確認画面(ページ2)に移り詳細が表示されます(これもDataGridで)。

Q: 確認画面でOKボタンを押すと登録処理が始まるのですが、あるデータだけイベントが
働きません。
そこで調べたところ
OKボタン押下でポストバックになるはずがそのデータの場合のみポストバックがFalse
になってしまっているのです。
又OKボタン以外でも、戻るボタンに関しても同じ現象が起きてしまい戻るイベントが
発生しません。

  他のデータとの違い!
  @そのデータは確認画面で6000件のデータが一画面に表示されている。
 
他データとの違いはその件数以外ないのですが、
  なぜポストバック = False になってしまうのでしょうか?。。
  
  どなたか教えて下さい。

開発言語 VB.NET(Web)
ゆうじゅん
ぬし
会議室デビュー日: 2004/01/16
投稿数: 347
投稿日時: 2004-07-27 16:36
とりあえず、6000件表示ではなく1件表示してみて
同じ現象が発生するか試してみてはどうでしょうか?

JJ
会議室デビュー日: 2004/07/07
投稿数: 8
投稿日時: 2004-07-27 19:07
返答ありがとうございます。
上記の説明にはのせていなかったのですが、何パターンかテストしたので
その結果を報告します。

1件の時→PoastBack=true
100件の時→PoastBack=true
1000件の時→PoastBack=true
2000件の時→PoastBack=true
3000件の時→PoastBack=true
4000件の時→PoastBack=true
5000件の時→PoastBack=true

'-------ここから不具合が生じる--------↓
5500件の時→PostBack=false
6000件の時→PostBack=false

このようになっています。
件数で不具合が生じることは無いと思うのですが
なぜこのような現象が生じるのか分かりません。
もし件数が原因なら表示数を制限すればよいのですが、
仕様上どうしても1ページに表示したいのです。
どなたか同じ現象が起きた人はいますか?
きくちゃん
ぬし
会議室デビュー日: 2003/08/01
投稿数: 854
お住まい・勤務地: 都内某所
投稿日時: 2004-07-27 19:40
JJさん、こんばんは。

6000件表示した場合の、クライアント側に返されるHTMLのサイズって、どれくらいになります?
ポストバックされるデータのサイズが制限値を超えているような場合、IsPostBack は False になり、ポストバックによるイベントは発生しません(但し、Request.RequestType は "POST"のまま)。

この制限値は、web.config で
<httpRuntime maxRequestLength="..." />
を記述する事により指定(デフォルトは4MB)しますが、もしかして、この辺を弄っていたりしません?
#あるいは4MB超えてたりして...。
JJ
会議室デビュー日: 2004/07/07
投稿数: 8
投稿日時: 2004-07-27 20:16
きく様ありがとうございます!!!!!
解決しました。
おっしゃる通り4MBをはるか越えて11MBありました;
そんな制約があるとは知りませんでした。
勉強になりました。
ありがとうございます。
1

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