- PR -

端末によってはラベルが表示されない

1
投稿者投稿内容
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2006-04-14 13:41
いつもお世話になっております。
ASP.NET(VB)で開発をしております。

コントロールの入力内容に不備があった場合、エラー表示用ラベルにメッセージを
表示させるようにしているのですが、先日、別の端末で試したら、入力チェックで
引っかかっているにも関わらず、メッセージが表示されない事象が発生しました。

ちなみに、コントロールの入力内容に不備があった場合、
(1)コントロールの背景色を赤色にする。
(2)コントロールにフォーカスをセットする。
(3)エラー用ラベルに警告メッセージを表示する。

という処理を行っております。(1)(2)は実行されています。また、その他の処理・
表示は開発環境と同様、正常に動作しております。他のラベルも正常に表示され
ています。今回「エラー表示用」としたラベルのみ、その端末では表示されません。

その端末は開発用端末同様、WinXP(Pro)+IE6(SP2)です。営業担当者の
端末なので、VS.NET等の開発ツールがインストールされていないという違いは
あるのですが、私としてはそれが影響するとは思えません。他に考えられる原因、
あるいは私が見落としているような箇所がございましたら、ご教授願えますで
しょうか。宜しくお願い致します。


一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2006-04-14 14:21
入力内容のチェックをしているのはサーバー側ですか?
それともクライアント側ですか?
R・田中一郎
ぬし
会議室デビュー日: 2005/11/03
投稿数: 979
投稿日時: 2006-04-14 14:23
問題のラベルとは別に、大きめのラベルを一時的に貼って文字を表示させるとどう
なりますか?

特定の端末のみで生じている現象ということなら、フォントが無かったり、デスク
トップのフォントの大きさが違っていたりという理由も可能性のひとつとして考え
られると思います。
囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-04-14 14:39
文字と背景が同色というオチはないですよね。
_________________
囚人のジレンマな日々
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2006-04-14 15:12
皆様、早速のお返事ありがとうございます。

>一郎様
チェックはサーバー側で行っております。

>R・田中一郎様
その問題の端末において、他のラベルはちゃんと表示されて
おります。プロパティウィンドウで設定したものも、コーディング
でTextプロパティを書き込んだものも、です。

>囚人様
文字色と背景色が同一・・・、まだ確認しておりません・・・・。
いやでも、文字色はLabelのプロパティで制御されるはずなので
、特定の端末だけ色が変わる、というのはどうかと・・・。


その端末のユーザーが出張中なのですぐには確認できないのですが、
なるべく早い段階で、展開されたソースを確認しようと思います。
いや、本来なら、最初にするべきことではあったのですが・・・。
田中様のおっしゃるフォント関連の問題も視野にいれて調査します。

余談ですが、スペック的にあまり差のないと考えられる複数のマシンにおいて、
社内で開発した.NETアプリが正常に表示されるものとされないものがあるという
事象は、わが社では以前からあったようで・・・。そのため、同じシステムを
.NET版とレガシーASP版(.NET版が見れない人用)で開発されたシステムが
いくつかあるようです。それこそ、とんでもないオチがありそうで怖いです。
NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2006-04-14 15:30
自己レスですが・・・、

嘘をついてました。「端末によって表示されない」というより、「localhostで
実行したものでは表示されるが、WEBサーバーにアクセスすると表示されない」
ということが判明しました。

展開されたソースで、本来メッセージが入るべきSPANタグ内には何も文字が
入ってませんでした。メッセージ自体はXMLファイルに定義しており、この
ファイルI/O周辺が怪しいかな、と考えております。

NVL
常連さん
会議室デビュー日: 2006/04/03
投稿数: 45
投稿日時: 2006-04-14 16:28
解決しました。

メッセージファイルのパスをCONSTで「/Inetpub/wwwroot/appname〜」と切っていた
のですが、WEBサーバー上の仮想フォルダはDドライブにあり、先の指定によって
Cドライブ上の、存在しないファイルを参照しにいって、空文字を返してきたよう
です。

Server.MapPathメソッドに相対パスを放り込んで解決しました。

今回も恥の上塗りを行ってしまいました。
お騒がせして申し訳ございません。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2006-04-16 22:34
なんか、安易にやってしまいそうな事案ですね。
HttpServerUtility.MapPath について、ご存じでない方もいらっしゃいますから、詳細なご報告、感謝いたします。
1

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