- PR -

サーバコントロールへのJavaScript実装方法+もう1件

1
投稿者投稿内容
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-07 19:53
いつも参考にさせて頂いております。

初心者な質問で申し訳ありませんが、下記2点が解決できません。
ASP.NETとVB.NETでWEBアプリケーションを作成しています。

1)サーバコントロールへのJavaScriptを実装する方法
具体的には、ボタンによって、ターゲットを変更したいです。
ボタンA→同じところに表示(target="self")
ボタンB→別ウィンドウに表示(target="blank")
※検索結果一覧をDataGridでページング表示しており、
Aボタンでは次ページに遷移、Bボタンでは行を選択して
詳細情報ページに遷移する、という処理を行っています。

2)DataGridのページング手法
現在は、DataReaderを使用し、次ページへ切り替えるための
ボタンはボタンコントロールで、クリックすると毎回SQL文を
作成、DB接続することで実現しています。
この場合、情報の表示順序があるカラムを基準に降順(昇順)で
ある必要があり、カラムの値が同じ場合にネックとなります。
あまりハードへの負荷は避けたいので、DataSetを使っていないのですが、

Q1)DataReaderとDataSetでは、どれくらい負荷が違うのでしょうか?
Q2)何か良いページング手法があれば教えてください!

以上、自力で調査しましたが分かりませんでした。。。
何卒、ご協力をお願いします!!
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2003-11-07 21:31
ど〜も。

1)サーバコントロールへのJavaScriptを実装する方法
いまいち状況がつかめないのですが、
ボタンAが押されたらResponse.Redirect()で飛んで
ボタンBが押されたら子ウィンドウを表示させたいってことでしょうか?

2)DataGridのページング手法
DataGridのページング機能を使わないで自作してるってことですよね?
SELECT文の結果のデータ件数は何件ぐらいなのでしょうか?
そんなに大量でなければ問題ない気がします。
またページングごとに取得する場合でもカスタムページングを使うのが一般的だと思います。



hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-07 22:55
お返事ありがとうございます(分かりづらい説明で済みません・・)。

>1)サーバコントロールへのJavaScriptを実装する方法
>いまいち状況がつかめないのですが、
>ボタンAが押されたらResponse.Redirect()で飛んで
>ボタンBが押されたら子ウィンドウを表示させたいってことでしょうか?

ボタンA、BがページA内にあり、
ボタンAをクリック→ページA内で遷移、表示
ボタンBをクリック→別ウィンドウに遷移、表示
ということを実装したいのです。
現時点では、target="blank"にしているので、ボタンAをクリックしても
別ウィンドウに表示されます。
ボタンAをクリックすると、動的にtarget="self"にすることは可能でしょうか?
もちろん別の方法でも構いません。


>DataGridのページング機能を使わないで自作してるってことですよね?
>SELECT文の結果のデータ件数は何件ぐらいなのでしょうか?
>そんなに大量でなければ問題ない気がします。
>またページングごとに取得する場合でもカスタムページングを使うのが一般的だと思います。

カスタムページングを使用、ボタンオフにしてます。
「次ページ」ボタンは、ボタン・サーバコントロールのイベントハンドラ内で、
次ページ表示のためのSQL文作成、DB接続等を行っています。
件数は数千件になる場合もありますが、千件くらいに制限することは可能です。
この方法では、検索結果がID順等、不連続でも構わないのですが、降順or昇順
に並んでいなければ正確に実行できません。
降順or昇順に並んでいなくても、ページングできる良い方法はないでしょうか?
パフォーマンスを重要視してます。

なにとぞ、ご協力お願いします!
burton999
ぬし
会議室デビュー日: 2003/10/06
投稿数: 898
お住まい・勤務地: 東京
投稿日時: 2003-11-08 00:29
> パフォーマンスを重要視してます。
とはレスポンスタイムを重要視してるってことでしょうか?
でしたら、SQLの発行は初回のみにして
結果のDataTableをSessionに入れて保持しといて使いまわすとか。。。
1000レコードのデータがどれだけメモリを食うかは微妙ですが。
さらにSQL発行後に挿入されたレコードは表示できないとかの問題もありますし
ケースバイケースですかね(^^ゞ
あんまりお役にたってないですねm(__)m
hirasane
常連さん
会議室デビュー日: 2003/10/31
投稿数: 28
投稿日時: 2003-11-10 16:53
ご回答有難うございます。

>1)サーバコントロールへのJavaScriptを実装する方法
については、分からないので、
target指定はせず(フレーム内で表示)、別ウィンドウに表示したい
場合は、JavaScriptでポップアップウィンドウ表示することにしました。
(作成済み)

2)DataGridのページング手法
については、DataGrid+DataReader+一時テーブルの組合せ
で試してみようと思います。

お返事が遅くなってしまい、申し訳ありませんでした。
1

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