gpt4 book ai didi

c# - 从外部javascript文件获取用户控件中的clientid

转载 作者:搜寻专家 更新时间:2023-11-01 05:26:56 24 4
gpt4 key购买 nike

我正在 ASP.NET 中开发一个用户控件 (ascx),它使用 javascript 来操作控件。目前 javascript 代码是内联的并使用 <%= somecontrol.ClientID %>以获得所需的控制权。

我想将 javascript 文件放在外部文件中,但我无法从外部文件中使用上述语法来检索控件。我在 this 中阅读了可能的解决方案和 this答案,但问题是用户控件可以在页面上放置多次。这意味着 Controls 数组(在答案中提到)将使用不同的项目呈现多次。结果,脚本将无法检索它需要的 ID。如果我把 <%= ClientId %>以包含项目的数组的名称,那么我将遇到与我试图解决的问题相同的问题。

有什么想法吗?

最佳答案

好的,一种不同的方法,我尝试使用 JavaScript 类样式,然后为每个控件初始化它。

在外部 javascript 文件中,将您的代码编写为:

function oNameCls(ControlId1) {

this.ControlId1 = ControlId1;

this.DoYourWork1 = function() {
// use the control id.
// this.ControlId1
}
this.DoYourWork2 = function() {
// use the control id.
// this.ControlId1
}

}

然后在控件上像那样调用。

<script language="Javascript" type="text/javascript">
// init - create
var <%=this.ClientID%>MyCls = new oNameCls(<%=Control1.ClientID%>);
// do your work
<%=this.ClientID%>MyCls.DoYourWork1();
</script>

希望现在帮助更好。

关于c# - 从外部javascript文件获取用户控件中的clientid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2500001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com