わんくま同盟大阪勉強会#8に参加してきました。これからOSがWindows VISTAへ移行していくうえで押さえておくべき必須の機能を、 刈歩 菜良さん、 えムナウさん、 はなおか じったさん、中博俊さんが話すとなれば、そら参加人数51人と大阪では過去最高にもなるわけです。パチパチパチ。
さらに大阪では初?の懇親会2次会が執り行われ、その場でASP.NET AJAXのOnTextChangedイベントでうんぬん。。。と話を持ち出して、中さんから「そのイベントはないやろ!」突っ込みを受け、えムナウさんからご指導をいただき、その場では私の勘違いだと受け入れたんですが、帰りしにやっぱりASP.NET AJAXでOnTextChangedイベント拾って処理してたよなぁと気になったので、それを優先して書いてしまいますw
従来WebアプリでAJAXを用いてテキストボックスの内容変更を拾って処理を行うには、(その処理方法の良し悪しは置いておいて・・・)クライアント側のJavascriptでonchangeやonblurイベントを用いていました。
それをASP.NET AJAXで素直に実現しようとするならば、UpdatePabelで囲ったテキストボックスの「AutoPostBack」を有効にし、OnTextChangedイベントを用いるのが、一番手間がかからないかなぁ~それってありですかねぇ?と聞きたかったのでした。
この方式でたとえば入力チェックを行うと、サーバ側の処理でクライアント側でAJAXが有効なのかどうか、深く考えなくてよくなったりします。それを踏まえて複数テキストがある場合をざっくり書くと下のようになります。
protected void TextBox1_OnTextChanged(object sender, EventArgs e)
{
// TextBox1の入力チェック用メソッド
}
protected void TextBox2_OnTextChanged(object sender, EventArgs e)
{
// TextBox2の入力チェック用メソッド
}
protected void TextBox3_OnTextChanged(object sender, EventArgs e)
{
// TextBox3の入力チェック用メソッド
}
protected void Submit_Click(object sender, EventArgs e)
{
// TextBox1の入力チェック用メソッド
// TextBox2の入力チェック用メソッド
// TextBox3の入力チェック用メソッド
// で、全部のチェック結果を元に処理実行
}
こうしてるとチェック処理を1箇所で扱えてうれしいなぁと。それにAJAXでのチェックをやめようとした場合にもまあ被害は少ないし幸せですよと。
さあどうだ!
投稿日時 : 2007年4月29日 1:18