方法 : TextBox Web サーバー コントロールでの変更に応答する
更新 : 2007 年 11 月
情報を入力した後、ユーザーが TextBox Web サーバー コントロールからフォーカスを外すと、このコントロールでイベントが発生し、イベントに応答できます。
メモ : |
---|
TextBox Web サーバー コントロールのイベントは、ユーザーがキーを操作するたびに発生するのではなく、コントロールからフォーカスを外したときにだけ発生します。TextBox コントロールには、クライアント スクリプトで処理するクライアント側イベントを発生させることができます。このイベントは、個々のキーストロークに応答する場合に役立ちます。詳細については、「ASP.NET Web ページのクライアント スクリプト」を参照してください。 |
TextBox コントロールでの変更に応答するには
TextBox コントロールの TextChanged イベントのイベント ハンドラを作成します。
既定では、TextChanged イベントが発生しても、Web フォーム ページはサーバーにすぐにはポストされません。代わりに、フォームが次回ポストされたときにイベントがサーバー コードで発生します。TextChanged イベントですぐにポストが実行されるようにするには、TextBox コントロールの AutoPostBack プロパティを true に設定します。
メモ : TextBox コントロールをチェックしたときに、サーバーにポストされるようにするには、ブラウザが ECMAScript (JScript、JavaScript) をサポートしており、このスクリプトがユーザーのブラウザで有効になっている必要があります。
TextBox コントロールでの変更に応答する方法を次のコード例に示します。次のコードでは、コントロールの内容をラベルに表示します。
セキュリティに関するメモ : Web フォーム ページのユーザー入力には、悪意のあるクライアントのスクリプトが含まれる可能性があります。既定では、Web フォーム ページは、ユーザー入力にスクリプトや HTML 要素が含まれていないことを検証します。詳細については、「方法 : HTML エンコーディングを文字列に適用して Web アプリケーションをスクリプトによる攻略から保護する」を参照してください。
Protected Sub TextBox1_TextChanged(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles TextBox1.TextChanged Label1.Text = Server.HtmlEncode(TextBox1.Text) End Sub
protected void TextBox1_TextChanged(object sender, EventArgs e) { Label1.Text = Server.HtmlEncode(TextBox1.Text); }