ASP.NET 客户端脚本连接到实例
Connecting ASP.NET client-side scripts to instances
考虑这个简化的例子:
服务器端 ASP.NET 代码:
TextBox theTextBox = ...
theTextBox.Attributes.Add("onchange", "HandleOnChangeEvent");
客户端 JavaScript:
var numberOfChanges;
function HandleOnChangeEvent() {
numberOfChanges++;
alert(numberOfChanges);
}
现在,这有效,即每次用户更改文本框中的值时,都会弹出一个对话框,显示自加载页面以来文本框中的值更改的次数。
但是,如果同一页面上有多个 texbox 实例怎么办?OfChanges 的数量是全局的,因此它将跟踪页面上所有文本框的更改总数。我希望它确实是特定于实例的,对于每个单独的文本框。
解决此问题的首选方法是什么?不知道这是否重要,但我应该提到我的真实场景要复杂得多,状态变量比本例中的状态变量更多。
谢谢!/弗雷德里克
利用 JavaScript 的原型特性,并在使用的基础上扩展文本框,如下所示:
function HandleOnChangeEvent(e) {
// `e` contains the DOM element that was clicked
if( !e.numberOfChanges ) e.numberOfChanges = 0; // dynamically set the property
e.numberOfChanges++;
alert( e.numberOfChanges );
}
您需要将onchange
属性更改为以下内容:
onchange="HandleOnChangeEvent(this);"
相关文章:
- ES6构造函数返回基类的实例
- KnockoutJS-组件-多个实例
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- 如何使用密码检测网络中的状态连接
- fluxxor向一个flux实例添加一组以上的操作
- 如何处理node.js节点mongodb中的连接和查询队列
- Rails-JQueryUIAutcomplete和AJAX不工作,可以't连接到数据库
- 使用jQuery获取Dropzone实例/对象
- 将深流服务器连接到重新思考数据库实例
- HTML5Websocket类及其实例使用彼此连接
- JsPlumn'使用非默认实例时不进行连接
- 如何使用RtcPeerConnection连接其他实例
- kafka节点连接到kafka的本地实例,但没有连接到远程kafka服务器
- 我如何重新连接到同一个小行星实例上的Chrome扩展
- 创建未连接到商店的Ember模型实例
- 获取“websocket连接无效”;使用套接字出错.ec2实例上的IO
- 不创建新实例的选择器的jQuery连接
- ASP.NET 客户端脚本连接到实例