- PR -

98系でASP.NETは正常に動作しない!?

1
投稿者投稿内容
がつん
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 62
お住まい・勤務地: Sydney
投稿日時: 2003-09-17 18:40
いつもお世話になっております。がつんです。
asp.netで作成した画面でコントロールを動的に配置しているのですが、
98系のみコンボボックスが全く表示されないという現象が発生して困っています。
どうやら、コンボボックスを大量に画面に配置するとこの現象が起こるようです。
その後、ブラウザはメモリを限界まで消費し続けて正常に動作しなくなります。
どなたかこの現象をご存知の方お知恵を拝借できませんでしょうか。

どうかよろしくお願いいたします。
まゆりん
ぬし
会議室デビュー日: 2002/08/12
投稿数: 539
お住まい・勤務地: よこはま
投稿日時: 2003-09-17 19:08
こんばんは。

まさに今日、同じような問題を抱えておりました。
私の場合はDropDownListをDataGridのテンプレート列に格納しているのですが、
それを100行表示した際に98では表示されないとの報告がありました。
(ちなみにその時のファイルサイズは3.5MB・・・でかいですね)

ぶっちゃけ「98使わないでくれ!」と思っておりますが(笑)、
ここは仕様自体を変えてしまったほうが良いのでは?
以下は当方の仕様とその対応策です。
------------------------------------------------------------
【仕様】
・顧客の工場コードとその工場名をDropDownListとして表示。
 (Value:工場コード、Text:工場コード&工場名)
・工場コードはテーブル項目から読み込まれそれをキーに
 デフォルト選択されるようにしている。
・ただし、工場コードがテーブル項目に入っていなかった場合は
 先頭の工場を表示する。

【対応策】
1.DropDownListをやめて、TextBoxで対応する。
 工場コード入力用と工場名表示用の2つを用意し、
 工場コードが入力されて登録ボタン押下時にその工場コードが
 存在するかチェックする。
2.1と同様だが、工場コードTextBoxからカーソルが離れた時に
 JavaScriptを使用して工場名を取得すようにする。
 (予めHiddenなどで工場リストを作成しておき、そこを検索させる)
 存在しなければ工場名は表示されない。
3.テーブルにコードがある場合はラベルで固定表示し、
 なければDropDownListで選択させるようにする。
4.表示行数に制限をかける
--------------------------------------------------------------
結局、顧客に相談した結果3を適用することになりました。

アドバイスになっているかどうか分りませんが、
参考になれば幸いです。

[ メッセージ編集済み 編集者: まゆりん 編集日時 2003-09-17 19:10 ]
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2003-09-17 19:18
98系のOSでは、リソース絡みの制限で、画面に表示できるコントロールの数にかなり制限があるはずです。

# コンボボックスは(画面の表示サイズに比べて)特にリソースを食うので
# 制限に引っかかりやすいってことですかね?
# テキストボックスなら少しましだということでしょうね。

基本的には、あまり一画面にコントロール(つまりは入力項目)をたくさん配置するのはやめた方が良いと思います(使い勝手等含めて、といっても要望によりそうせざるを得ないということはあるかもしれませんが)。
がつん
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 62
お住まい・勤務地: Sydney
投稿日時: 2003-09-17 19:23
まゆりんさん、ご回答ありがとうございます。
私もあれから調査した結果、98系は使用できるメモリの限界があらかじめ決められている
http://www5c.biglobe.ne.jp/~phrase/C1/PCDB/resouce/
とのことでした、なんじゃソリャって感じです...
「メモリ増設しても無駄」だなんて。

常駐ソフトを削減するか、OSを変えるか、作りそのものを変えるか...
まゆりんさん、お忙しいところ貴重なご意見ありがとうございました。
がつん
ベテラン
会議室デビュー日: 2003/07/07
投稿数: 62
お住まい・勤務地: Sydney
投稿日時: 2003-09-18 10:20
なちゃさん、ご回答ありがとうございます。
結局、システムを動作させるときは常駐のプログラムを減らしてユーザに
領域確保させるようにする方向になりそうです。

根本的な解決にはなっていませんが...
以後、作り方に注意していきたいと思います。
どうもありがとうございました。
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2003-09-18 11:19
引用:

がつんさんの書き込み (2003-09-18 10:20) より:
結局、システムを動作させるときは常駐のプログラムを減らしてユーザに
領域確保させるようにする方向になりそうです。


このアプローチだと、Windows9X側での長期耐久試験が必要なような……。
GDI/USERリソースって、消費したままリークするケースも昔聞いたような記憶がありますので……。
1

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