考虑这个简化的例子:
服务器端 ASP.NET 代码:
TextBox theTextBox = ...
theTextBox.Attributes.Add("onchange", "HandleOnChangeEvent");
客户端javascript:
var numberOfChanges;
function HandleOnChangeEvent() {
numberOfChanges++;
alert(numberOfChanges);
}
现在,这是可行的,即每次用户更改文本框中的值时,都会弹出一个对话框,显示自页面加载以来文本框中的值更改的次数。
但是,如果同一页面上有多个 texbox 实例怎么办?numberOfChanges 是全局的,因此它将跟踪页面上所有文本框的更改总数。对于每个单独的文本框,我希望它是特定于实例的。
解决此问题的首选方法是什么?不知道这是否重要,但我应该提一下,我的真实场景要复杂得多,状态变量比本例中的一个要多。
谢谢!/弗雷德里克