C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: VB6のText_changeイベントをASPでやる方法


(過去ログ 63 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■36239 / inTopicNo.1)  VB6のText_changeイベントをASPでやる方法
  
□投稿者/ nao (3回)-(2009/05/26(Tue) 00:05:45)

分類:[ASP.NET (VB)] 

お世話になっております。

早速ですが、VB6のText_ChangeイベントをASP.NET(VB)でやる方法がわからず
ご教示いただければ・・・
Textに値を入力するとLabelにSQLから引っ張ってきた値を表示させたいたのですが
ASPですとTextChangedのイベントはあるのですが、他のボタンを押下しないと
そのイベントには飛んでくれません。
VB6ではchange()イベントにて出来るのですが・・・
同じことをするためにはどのようにコードを書けば宜しいのでしょうか?
また、Textに値を入力するとDropDownListを表示させる方法なのですが・・・
どちらもTextに値を入力したら・・・ということで同じなのですが
どのようにしたら発生させることができるでしょうか?

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

引用返信 編集キー/
■36240 / inTopicNo.2)  Re[1]: VB6のText_changeイベントをASPでやる方法
□投稿者/ やじゅ (1013回)-(2009/05/26(Tue) 03:12:23)
やじゅ さんの Web サイト
2009/05/26(Tue) 03:51:19 編集(投稿者)

No36239 (nao さん) に返信

テキストボックスの値が変わったとき UpdatePanel を更新する方法
http://d.hatena.ne.jp/fyts/20071213/ajax

VB6開発者のためのASP.NET開発入門
http://www.atmarkit.co.jp/fdotnet/vblab/aspnetforvb03/aspnetforvb03_04.html

※頻繁な更新は、サーバ側の負荷を増加させるため注意しましょう。
引用返信 編集キー/
■36243 / inTopicNo.3)  Re[1]: VB6のText_changeイベントをASPでやる方法
□投稿者/ たくボン (159回)-(2009/05/26(Tue) 10:25:55)
No36239 (nao さん) に返信
> お世話になっております。
> Textに値を入力するとLabelにSQLから引っ張ってきた値を表示させたいたのですが
> ASPですとTextChangedのイベントはあるのですが、他のボタンを押下しないと

AutoPostBackプロパティ。でも、やじゅさんと同じで頻繁なPostBackになるようならAjaxも考慮した方がいいかも。
引用返信 編集キー/
■36244 / inTopicNo.4)  Re[2]: VB6のText_changeイベントをASPでやる方法
□投稿者/ ぱると (23回)-(2009/05/26(Tue) 10:30:28)
Ajaxを入れるのが嫌(VS2005だと標準ではついてないし…)ならクライアントコールバックというのもあります。

クライアント・コールバックでデータベースの値を表示する方法
http://msdn.microsoft.com/ja-jp/library/cc719207.aspx
引用返信 編集キー/
■36245 / inTopicNo.5)  Re[2]: VB6のText_changeイベントをASPでやる方法
□投稿者/ みきぬ (439回)-(2009/05/26(Tue) 10:55:00)
> ※頻繁な更新は、サーバ側の負荷を増加させるため注意しましょう。

という理由で、ボタンを別途用意して、それを押したときにだけ
「SQLから引っ張ってきた値を表示させる」処理を実行する方法をお勧めしたいなあ。
引用返信 編集キー/
■36249 / inTopicNo.6)  Re[1]: VB6のText_changeイベントをASPでやる方法
□投稿者/ ぱぱいやん (33回)-(2009/05/26(Tue) 11:12:54)
ぱぱいやん さんの Web サイト
No36239 (nao さん) に返信
> お世話になっております。
>
> 早速ですが、VB6のText_ChangeイベントをASP.NET(VB)でやる方法がわからず
> ご教示いただければ・・・
> Textに値を入力するとLabelにSQLから引っ張ってきた値を表示させたいたのですが
> ASPですとTextChangedのイベントはあるのですが、他のボタンを押下しないと
> そのイベントには飛んでくれません。

http 通信が間に入ることを考えると、通信する頻度やタイミングも考慮した方が良いです。
テキストの値が変わるたびにデータが送受信される設計だと、実用的なものはできないかもしれません。
引用返信 編集キー/
■36250 / inTopicNo.7)  Re[1]: VB6のText_changeイベントをASPでやる方法
□投稿者/ biac (102回)-(2009/05/26(Tue) 11:42:11)
biac さんの Web サイト
> 早速ですが、VB6のText_ChangeイベントをASP.NET(VB)でやる方法がわからず
> ご教示いただければ・・・

それは ASP.NET ではサポートしていません。

VB6 の Text_Change イベントって、 たしか 1文字入力するごとに発生していませんでしたっけ?
同じことを Web ページでやるには、 Web ページ内に JavaScript で onKeyUp イベントハンドラを書いて、 その中でポストバックしてやることになります。 ( ASP.NET 側のコードじゃありませんよ。 )
が、 1文字入力ごとに画面の再読み込み (ポストバック) させたのでは、 イライラで使い物になりません。
仕様を変更すべきです。

> Textに値を入力するとLabelにSQLから引っ張ってきた値を表示させたいたのですが
> ASPですとTextChangedのイベントはあるのですが、他のボタンを押下しないと
> そのイベントには飛んでくれません。

他のボタンを押す代わりに、 テキストを書き換えた後の 「ロストフォーカス」 ( 正確には、 Enter キーまたは Tab キー) でポストバックをさせる仕掛けなら、 ASP.NET にあります。
ほかのみなさんが書いている AutoPostBack プロパティです。

ポストバック (画面の再読み込み) を避けるには、 Ajax の手法を持ち込みます。
やじゅさんが書いた 「テキストボックスの値が変わったとき UpdatePanel を更新する方法」 が、 それです。


> また、Textに値を入力するとDropDownListを表示させる方法なのですが・・・

それは出来ません。
ASP.NET 云々でなく、 HTML の仕様として、 DropDownList を表示させる方法は無いはずです。 ( IE に限定すれば、 あるのかな? f(^^; )
通常は、 DropDownList に見せかけたレイヤーの表示を JavaScript で ON / OFF することで実現します。


VB6 の画面と同じ感覚のモノを作ろうとするなら、 ASP.NET の前に、 DOM, CSS, Ajax といった技術を極めることが必要になります。 例えば、 http://docs.google.com/ の画面が、 どんな JavaScript で動いているかだいたいの想像が付くという程度には勉強しておく必要があるでしょう。
ASP.NET に見合った仕様に変更することをお勧めします。

※ イントラネットなら、 ClickOnece や Silverlight のほうが、 よほど両者 ( ユーザーと開発者 ) が幸せになれると思うんだけどなぁ。 日本では人気無いんだよなあ。
引用返信 編集キー/
■36252 / inTopicNo.8)  Re[2]: VB6のText_changeイベントをASPでやる方法
□投稿者/ ぱると (24回)-(2009/05/26(Tue) 12:00:33)
>DropDownList を表示させる方法は無いはずです。

せんせー、ASP.NETにDropDownListがあります。
http://msdn.microsoft.com/ja-jp/library/system.web.ui.webcontrols.dropdownlist(VS.80).aspx
いわゆるselectタグのことですが。

表示/非表示の切替はbiacさんの言うとおりjavascriptで対応と言うことになりそうですが。
引用返信 編集キー/
■36256 / inTopicNo.9)  Re[2]: VB6のText_changeイベントをASPでやる方法
□投稿者/ みきぬ (440回)-(2009/05/26(Tue) 12:38:11)
> VB6 の Text_Change イベントって、 たしか 1文字入力するごとに発生していませんでしたっけ?
> 同じことを Web ページでやるには、 Web ページ内に JavaScript で onKeyUp イベントハンドラを書いて、 その中でポストバックしてやることになります。 ( ASP.NET 側のコードじゃありませんよ。 )

必要なデータ全部を HTML 上に持っておいて、ポストバックせずに JavaScript ですべて頑張るという方法もないこともないです。
お勧めできるどうかは…状況によるかしら。

> ポストバック (画面の再読み込み) を避けるには、 Ajax の手法を持ち込みます。
> やじゅさんが書いた 「テキストボックスの値が変わったとき UpdatePanel を更新する方法」 が、 それです。
>
Ajax はよく知らないのですが、UpdatePanel を使ってもポストバックって発生しませんでしたっけ?
この方法で何がよくなるか、どなたか補足説明をお願いしたいです。

> ※ イントラネットなら、 ClickOnece や Silverlight のほうが、 よほど両者 ( ユーザーと開発者 ) が幸せになれると思うんだけどなぁ。 日本では人気無いんだよなあ。
>
賛成〜。
引用返信 編集キー/
■36257 / inTopicNo.10)  Re[3]: VB6のText_changeイベントをASPでやる方法
□投稿者/ s2n (8回)-(2009/05/26(Tue) 12:44:29)
s2n さんの Web サイト
No36256 (みきぬ さん) に返信
>>ポストバック (画面の再読み込み) を避けるには、 Ajax の手法を持ち込みます。
>>やじゅさんが書いた 「テキストボックスの値が変わったとき UpdatePanel を更新する方法」 が、 それです。
>>
> Ajax はよく知らないのですが、UpdatePanel を使ってもポストバックって発生しませんでしたっけ?
> この方法で何がよくなるか、どなたか補足説明をお願いしたいです。

UpdatePanelは指定したコントロール(テキストボックス等)だけを
非同期でポストバックする仕組みですね。
http://www.atmarkit.co.jp/fdotnet/aspnetajax/aspnetajax02/aspnetajax02_01.html
引用返信 編集キー/
■36258 / inTopicNo.11)  Re[4]: VB6のText_changeイベントをASPでやる方法
□投稿者/ みきぬ (441回)-(2009/05/26(Tue) 13:08:53)
> UpdatePanelは指定したコントロール(テキストボックス等)だけを
> 非同期でポストバックする仕組みですね。
> http://www.atmarkit.co.jp/fdotnet/aspnetajax/aspnetajax02/aspnetajax02_01.html
>
ざっと目を通してみました。ありがとうございます。
軽くまとめるとこんな感じでしょうか。

メリット
・画面全体ではなく、部分的に書き換えがされる(ちらつきにくい?)
・非同期なので、サーバと通信中もUIが操作可能

デメリット
・うっかり通信負荷がかかるものを作っても、気がつきにくい
・UpdatePanelを複数置いた場合にめんどくさい(このへんよくわかってない)
引用返信 編集キー/
■36262 / inTopicNo.12)  Re[3]: VB6のText_changeイベントをASPでやる方法
□投稿者/ biac (104回)-(2009/05/26(Tue) 13:39:01)
biac さんの Web サイト
No36252 (ぱると さん) に返信
> >DropDownList を表示させる方法は無いはずです。
>
> せんせー、ASP.NETにDropDownListがあります。

どもです。
ぉおっと、 そうか。 元質問を 「DropDownList を開いた状態にしたい」 と読んだんだけど。 単に 「DropDownList 自体の表示を ON / OFF したい」 というだけのことかもしれないわけか f(^^;

引用返信 編集キー/
■36264 / inTopicNo.13)  Re[4]: VB6のText_changeイベントをASPでやる方法
□投稿者/ biac (105回)-(2009/05/26(Tue) 13:54:05)
biac さんの Web サイト
No36257 (s2n さん) に返信
> ■No36256 (みきぬ さん) に返信
> >>ポストバック (画面の再読み込み) を避けるには、 Ajax の手法を持ち込みます。
> >>やじゅさんが書いた 「テキストボックスの値が変わったとき UpdatePanel を更新する方法」 が、 それです。
> >>
>>Ajax はよく知らないのですが、UpdatePanel を使ってもポストバックって発生しませんでしたっけ?
>>この方法で何がよくなるか、どなたか補足説明をお願いしたいです。
>
> UpdatePanelは指定したコントロール(テキストボックス等)だけを
> 非同期でポストバックする仕組みですね。
> http://www.atmarkit.co.jp/fdotnet/aspnetajax/aspnetajax02/aspnetajax02_01.html

リンク先を読んでもらえればよいのですが、 そうしない人に誤解されないように補足 f(^^;

・ UpdatePanel コントロールは、 ASP.NET AJAX フレームワークに含まれるサーバ・コントロール
・ ASP.NET AJAX は、ASP.NET で Ajax 技術を利用するためのフレームワーク
 http://www.atmarkit.co.jp/fdotnet/special/aspajax/aspajax_01.html
・ Ajax とは「Asynchronous JavaScript and XML」の略で、 (…中略…) JavaScript で処理することで、 ブラウザの HTTP によるページ遷移とは非同期にサーバとやりとりして「動的に」ページ内容を変更する仕組みを指す。
 http://www.atmarkit.co.jp/fwcr/special/ajax01/01.html
 ※ 注) やりとりするデータ形式が XML でなくても、 Ajax と呼びます。
引用返信 編集キー/
■36291 / inTopicNo.14)  Re[4]: VB6のText_changeイベントをASPでやる方法
□投稿者/ nao (4回)-(2009/05/26(Tue) 22:15:00)
やじゅさん:
たくボンさん:
ぱるとさん:
biacさん:
みきぬさん:
s2nさん:
ぱぱいやんさん:

ありがとうございます。
まだ、初心者なものですいません。

ボタンクリックによって、DropDownリストおよびLabelにSQLからの表示をさせることはできています。
TextChangeイベントについてがわからず質問させていただきました。

皆様がご丁寧に関連リンクを貼っていただきましてありがとうございました。
Ajaxについてがまだわかっていないのですが、皆様の言う通りにやってみようと思います。
とても参考になりました^^v

Ajaxでもわからない点等出てくると思いますので
その時にまた質問させていただきます。

今回はとりあえず、解決とさせていただきますが、
再質問すると思いますので、またその時にはよろしくお願いいたします。

本当にありがとうございました。
またよろしくお願いいたします♪

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -