Webフォーム上の複数のサーバーコントロールのテキスト変更イベントを処理する単一のメソッドを作成したいと思います。テキスト変更イベントが発生したら、コントロールIDをメソッドに渡す必要があります。つまり、メソッドが呼び出されたときに、テキスト変更イベントが発生した原因となったコントロールを特定する必要があります。これは可能ですか?通常はコマンド引数プロパティを使用しますが、これはテキストボックスおよびリストボックスコントロールでは使用できないと思います。助言がありますか?
質問する
1806 次
2 に答える
3
Sender
TextChanged 関数で (最初の) パラメータを使用します。
protected void TextBox1_TextChanged(object sender, EventArgs e)
{
TextBox tb = sender as TextBox;
if (tb != null)
{
string id = tb.ID;
}
}
于 2013-03-05T15:54:32.987 に答える
0
イベント ハンドラーには 2 つのパラメーターがあります。object sender, eventargs e
送信者パラメーターは、探しているものです。実際には、イベント ハンドラーを呼び出したオブジェクトへの参照です。正しい型にキャストする必要があります。
TextBox fooBar = sender as TextBox;
必要に応じて名前を取得できます。
if(fooBar.Name == "someName") { ... }
于 2013-03-05T15:54:28.907 に答える