- - PR -
別フレームからの値の取得について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-12-27 13:12
お世話になります。
フレームに関する話題は過去にもたくさんあるのですが, 丁度良いのがありませんでしたので,教えてください。 以下のような構成のフレームになっています。 MAIN.HTM +-- HEADER.ASPX(ボタン) +-- BODY.ASPX(データの明細行。それぞれにチェックボックス。DataGridではない。) HEADER.ASPX内にあるボタンをクリックしたタイミングでBODY.ASPX内の チェックボックスのON/OFF状態を取得したいと考えております。 JavaScriptによって,HEADER.ASPX内のボタンを押されたタイミングで チェックボックスのON/OFFを取得する方法は存じております。 ただこの場合,500件位になると処理時間が結構かかってしまいますので, できればサーバ側でチェックボックスのON/OFF状態を取得したいと 考えております。 何か良い方法はありますでしょうか? BODY.ASPX内でチェックボックスのAutoPostBackプロパティをTrueに してやってチェックされる度にセッションに入れるという方法も考えら れるのですが,1個チェックされる度にPostBackさせて良いものかも 不安点でした。 以上,よろしくお願い致します。 |
|
投稿日時: 2004-12-27 13:27
思いつくものは、
body.aspx のチェックボックス状態が変わったタイミングで、header.aspx 内のhiddenフィールドを更新 ですが、最終的に同期が取れているかがわかるかどうかが問題? |
|
投稿日時: 2004-12-27 14:00
> ただこの場合,500件位になると処理時間が結構かかってしまいますので,
> できればサーバ側でチェックボックスのON/OFF状態を取得したいと 書かれていることだけだと、「サーバ側だと時間が掛からない」という理由 がよくわかりません、なにか、ここに書いていない問題をかかえていると いうことはありませんか。 逐一データを送れば1操作あたりの見かけの処理時間が減るということを お考えでしたら、500レコードものデータをどう覚えておくかということ もからんでいますので、期待通りの成果を上げるためには、このチェック ボックス以外の部分についての考慮も必要なはず。 500個ものチェックボックス自体がいろいろな点でまずい気がする。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2004-12-27 14:21
皆様ご回答ありがとうございます。
>書かれていることだけだと、「サーバ側だと時間が掛からない」という理由 >がよくわかりません、なにか、ここに書いていない問題をかかえていると >いうことはありませんか。 チェックボックス以外の部分での時間は特に問題になっておりません。 ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする 時間が10秒以上かかってしまいます。 フレーム分割しないでPostBackを行った際には,普通に 「CheckBox1.Checked」で取得できますが,あまり時間が かかりませんでした。 >500個ものチェックボックス自体がいろいろな点でまずい気がする 初心者なものでまずい点を教えていただければ幸いです。 ちなみに,データ部でチェックされたレコードを削除したいという目的で このようなインタフェースとなっています。 |
|
投稿日時: 2004-12-27 14:25
言葉足らずだったのでもう1つ補足します。
>500レコードものデータをどう覚えておくかということもからんでいます この点につきましては,レコード内の全内容を覚えておく必要は無く, レコード毎にレコード番号を保持しておりますので,それを覚えるだけで 良いです。 |
|
投稿日時: 2004-12-27 14:45
> 1個チェックされる度にPostBackさせて良いものかも
> 不安点でした。 これ単体の質問だとしたら、必要でしたらPostBackするしかないのではない でしょうか、という回答になります。 > ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする > 時間が10秒以上かかってしまいます。 500個ものコントロールを走査するのですから、10秒は仕方ないかも。 > フレーム分割しないでPostBackを行った際には,普通に > 「CheckBox1.Checked」で取得できますが,あまり時間が > かかりませんでした。 これは500個分?それともPostBackの対象になったコントロールだけ? > ちなみに,データ部でチェックされたレコードを削除したいという目的で > このようなインタフェースとなっています。 ちなみに、というか、これを先に... レコードの削除というのは、サーバ側の処理ということですよね。 なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。 サーバにすべて任せてはいけない理由がわかれば、チェックする度にイベント を起こすようなことをしなくてすむ方法を提示できるかも。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2004-12-27 14:47
> 1個チェックされる度にPostBackさせて良いものかも
> 不安点でした。 これ単体の質問だとしたら、必要でしたらPostBackするしかないのではない でしょうか、という回答になります。 > ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする > 時間が10秒以上かかってしまいます。 500個ものコントロールを走査するのですから、10秒は仕方ないかも。 > フレーム分割しないでPostBackを行った際には,普通に > 「CheckBox1.Checked」で取得できますが,あまり時間が > かかりませんでした。 これは500個分?それともPostBackの対象になったコントロールだけ? > ちなみに,データ部でチェックされたレコードを削除したいという目的で > このようなインタフェースとなっています。 ちなみに、というか、これを先に... レコードの削除というのは、サーバ側の処理ということですよね。 なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。 サーバにすべて任せてはいけない理由がわかれば、チェックする度にイベント を起こすようなことをしなくてすむ方法を提示できるかも。 _________________ たつごろー codeseek こみゅぷらす |
|
投稿日時: 2004-12-27 15:21
>これは500個分?それともPostBackの対象になったコントロールだけ?
500個分です。例えば,チェックボックスに1つでもチェックがあるかを チェックしたとしても1秒もかからずにチェック可能です。 >レコードの削除というのは、サーバ側の処理ということですよね。 はい。その通りとなります。 >なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。 クライアント側スクリプトでのチェックの必要性はありません。 サーバ側のみで可能であれば,サーバ側のみで実現したいと考えております。 よろしくお願い致します。 |