プロが教えるわが家の防犯対策術!

asp.net初心者です。言語はvbを使用しています。
ボタンのクリック時にイベントを走らせる方法は
なんとなくわかりますが(理解しているというより動く)
テキストボックスの値が変わったときに
変更されたタイミングで別のテキストボックスの値を
設定するというのはWebプログラミングでは
難しいことなのでしょうか?
方法と解説を教えていただけると助かるのですが。
aspの本も買ったり、web検索したりしたのですが
いまいちよく分からないというか
情報がないというか・・・困っています。
どなたかお力添えお願いします。

A 回答 (2件)

> ユーザー側で計算値を入れてその結果を画面に表示するのでサーバへの問い合わせは(計算を表示させる時点では)必要ないです。



なるほど。であればその計算部分は JavaScript で記述したほうが早いでしょう。
ただしユーザー側の操作性の観点から見れば、
[計算] みたいなボタンを押してから計算する、というのであればボタンのクリックによってサーバへ一度問い合わせをしてサーバ側で計算を処理し、PostBack にてユーザーへ結果の html を返すのでも問題ないかもしれませんね。
「テキストボックスに数値を入れた瞬間に計算して結果を表示」って要件になっちゃうと、"12" て入力するのに "1" を入れた瞬間に "1" の値で PostBack、"2" を入れた瞬間に "12" の値で PostBack なんて挙動になりますから、ユーザー側の操作性からすると最悪です。


> ASP.NET使用でもユーザー側のブラウザの表示変更部分はJavaScriptで記述しなければならないのでしょうか?

「場合によっては」って事になります。
ASP.NET を使った Web アプリの場合、ユーザーが操作するのはブラウザにレンダリングされた通常の html であるので(特殊な ActiveX コントロールや Flash を使わなければですけど)、画面を変化させるには
1. サーバへアクセスして html 全体を更新する。
2. JavaScript を使って画面の一部を更新する。
のどちらかになります。
どちらを使うかは、その画面のアプリケーション側から見た要件と、ユーザーの操作性側からみた要件の折り合いで決定するのが良いでしょうね。
    • good
    • 0

mugi-cha さんは サーバサイド という言葉の意味をご理解されてますでしょうか。


理解されていれば話が早いです。

ASP.NET で開発する場合、イベントの多くはサーバ側で処理するものばかりです。
つまり動作としては、
1) ユーザーのブラウザ上で何らかのトリガー(きっかけ)があり、Web サーバへ新しいページの内容をもらいに行く。
2) サーバがブラウザへ送るべき情報を処理し、html ソースをブラウザへ返す。
3) サーバから帰ってきた html をブラウザが表示する。

となります。サーバへ一度問い合わせに行くことを PostBack って言ってます。
一方、JavaScript はブラウザ上で動きます。
1) ユーザーのブラウザ上で何らかのトリガーがあり、すでにブラウザに読み込まれている JavaScript の関数が呼び出される。
2) JavaScript 関数で何らかの処理をする。
3) 関数の結果がブラウザの表示に何らかの変化をもたらす(場合もある)。

(1)~(3)の流れはすべてユーザーのブラウザ上で行われるため、サーバへの問い合わせは発生しません。

さて、mugi-cha さんが実現したいイメージはどちらでしょうかね。
「テキストボックスの値が変わったとき」というのはもっと具体的に、どんな場合でしょうか。

たとえば「ユーザーが文字を入力する中で、1文字でも変化があれば」というのがトリガーだとすると、1文字入力または削除するたびにサーバと通信をしてブラウザ上の表示が再読み込みされてしまいます。
これじゃぁ忙しすぎますよね?
であれば、JavaScript で実現する方向で考えたほうが良いです。

「ユーザーがある程度の文字列を入力したあと、ボタンをクリックする」のように、最後に何らかのトリガーを発生する場合であれば、サーバへ問い合わせに行って処理を行っても問題ないでしょう。
この場合は ASP.NET の得意分野ですので VB でガシガシと書いてください。
    • good
    • 0
この回答へのお礼

ご回答どうもありがとうございます。
やりたいのはユーザー側で計算値を入れてその結果を画面に表示するのでサーバへの問い合わせは(計算を表示させる時点では)必要ないです。ASP.NET使用でもユーザー側のブラウザの表示変更部分はJavaScriptで記述しなければならないのでしょうか?
質問をした後 JavascriptのOnChangeで動くようだということは分かったのですが・・・ 質問の内容が変わってしまうので改めて質問したほうがよかったかな・・・ 本当にどうもありがとうございました(^^)

お礼日時:2006/08/11 00:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!