- PR -

別フレームからの値の取得について

投稿者投稿内容
ラララ
ベテラン
会議室デビュー日: 2004/02/04
投稿数: 66
投稿日時: 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させて良いものかも
不安点でした。

 以上,よろしくお願い致します。
にしざき
ぬし
会議室デビュー日: 2003/06/30
投稿数: 304
投稿日時: 2004-12-27 13:27
思いつくものは、
body.aspx のチェックボックス状態が変わったタイミングで、header.aspx 内のhiddenフィールドを更新
ですが、最終的に同期が取れているかがわかるかどうかが問題?

たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2004-12-27 14:00
> ただこの場合,500件位になると処理時間が結構かかってしまいますので,
> できればサーバ側でチェックボックスのON/OFF状態を取得したいと

書かれていることだけだと、「サーバ側だと時間が掛からない」という理由
がよくわかりません、なにか、ここに書いていない問題をかかえていると
いうことはありませんか。
逐一データを送れば1操作あたりの見かけの処理時間が減るということを
お考えでしたら、500レコードものデータをどう覚えておくかということ
もからんでいますので、期待通りの成果を上げるためには、このチェック
ボックス以外の部分についての考慮も必要なはず。

500個ものチェックボックス自体がいろいろな点でまずい気がする。

_________________
たつごろー
codeseek
こみゅぷらす
ラララ
ベテラン
会議室デビュー日: 2004/02/04
投稿数: 66
投稿日時: 2004-12-27 14:21
皆様ご回答ありがとうございます。

>書かれていることだけだと、「サーバ側だと時間が掛からない」という理由
>がよくわかりません、なにか、ここに書いていない問題をかかえていると
>いうことはありませんか。
チェックボックス以外の部分での時間は特に問題になっておりません。

ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする
時間が10秒以上かかってしまいます。
フレーム分割しないでPostBackを行った際には,普通に
「CheckBox1.Checked」で取得できますが,あまり時間が
かかりませんでした。

>500個ものチェックボックス自体がいろいろな点でまずい気がする
初心者なものでまずい点を教えていただければ幸いです。

ちなみに,データ部でチェックされたレコードを削除したいという目的で
このようなインタフェースとなっています。
ラララ
ベテラン
会議室デビュー日: 2004/02/04
投稿数: 66
投稿日時: 2004-12-27 14:25
言葉足らずだったのでもう1つ補足します。

>500レコードものデータをどう覚えておくかということもからんでいます
この点につきましては,レコード内の全内容を覚えておく必要は無く,
レコード毎にレコード番号を保持しておりますので,それを覚えるだけで
良いです。
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2004-12-27 14:45
> 1個チェックされる度にPostBackさせて良いものかも
> 不安点でした。

これ単体の質問だとしたら、必要でしたらPostBackするしかないのではない
でしょうか、という回答になります。


> ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする
> 時間が10秒以上かかってしまいます。

500個ものコントロールを走査するのですから、10秒は仕方ないかも。

> フレーム分割しないでPostBackを行った際には,普通に
> 「CheckBox1.Checked」で取得できますが,あまり時間が
> かかりませんでした。

これは500個分?それともPostBackの対象になったコントロールだけ?

> ちなみに,データ部でチェックされたレコードを削除したいという目的で
> このようなインタフェースとなっています。

ちなみに、というか、これを先に...
レコードの削除というのは、サーバ側の処理ということですよね。
なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。
サーバにすべて任せてはいけない理由がわかれば、チェックする度にイベント
を起こすようなことをしなくてすむ方法を提示できるかも。

_________________
たつごろー
codeseek
こみゅぷらす
たつごろー
ぬし
会議室デビュー日: 2004/10/25
投稿数: 496
投稿日時: 2004-12-27 14:47
> 1個チェックされる度にPostBackさせて良いものかも
> 不安点でした。

これ単体の質問だとしたら、必要でしたらPostBackするしかないのではない
でしょうか、という回答になります。


> ボタンを押したときに,チェックのON/OFFをJavaScriptでチェックする
> 時間が10秒以上かかってしまいます。

500個ものコントロールを走査するのですから、10秒は仕方ないかも。

> フレーム分割しないでPostBackを行った際には,普通に
> 「CheckBox1.Checked」で取得できますが,あまり時間が
> かかりませんでした。

これは500個分?それともPostBackの対象になったコントロールだけ?

> ちなみに,データ部でチェックされたレコードを削除したいという目的で
> このようなインタフェースとなっています。

ちなみに、というか、これを先に...
レコードの削除というのは、サーバ側の処理ということですよね。
なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。
サーバにすべて任せてはいけない理由がわかれば、チェックする度にイベント
を起こすようなことをしなくてすむ方法を提示できるかも。

_________________
たつごろー
codeseek
こみゅぷらす
ラララ
ベテラン
会議室デビュー日: 2004/02/04
投稿数: 66
投稿日時: 2004-12-27 15:21
>これは500個分?それともPostBackの対象になったコントロールだけ?
500個分です。例えば,チェックボックスに1つでもチェックがあるかを
チェックしたとしても1秒もかからずにチェック可能です。

>レコードの削除というのは、サーバ側の処理ということですよね。
はい。その通りとなります。

>なぜクライアント側スクリプトでチェックされているかの確認が必要なのですか。
クライアント側スクリプトでのチェックの必要性はありません。
サーバ側のみで可能であれば,サーバ側のみで実現したいと考えております。

よろしくお願い致します。

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