【问题标题】:Ensuring unique Javascript identifiers in ASP.NET Web User Controls确保 ASP.NET Web 用户控件中的唯一 Javascript 标识符
【发布时间】:2009-08-10 08:53:44
【问题描述】:

在我当前的项目中,我正在创建一些用户控件,其中一些包含一些用于客户端事件处理的自定义 Javascript。我正在使用 OnClientClick="function()" 等注册我的事件处理程序。

现在,我想知道如何确保控件的每个特定实例的所有 Javascript 函数名称都是唯一的,因此我不会冒控件之间名称冲突的风险。我考虑过将所有函数放在一个命名对象中,比如

var <%=ClientID%>_Script {
  method1: function() { ...}
}

然后使用类似的东西订阅事件

OnClientClick="<%=ClientID%>_Script.methodName()"

似乎我只能在 OnClient* 属性中使用 -表达式。因此,我想知道;有一些“最佳实践”吗?

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    最快的解决方案可能是简单地拥有一个通用事件处理程序,该处理程序委托给适当的处理程序:

    OnClientClick="handleClick(this)"
    

    onclick 属性范围内的this 是当前被点击的元素。

    ASP.NET 方式是register the client script。具体来说,请参阅在其他控件中渲染的引用控件(动态创建脚本并注册它)下的建议。

    【讨论】:

      猜你喜欢
      • 2023-03-22
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多