如何在外部javascript文件中获取asp.net客户端id
当我使用嵌入式javascript函数时,我可以使用以下代码获取元素的客户端id:如何在外部javascript文件中获取asp.net客户端id,javascript,asp.net,client,element,Javascript,Asp.net,Client,Element,当我使用嵌入式javascript函数时,我可以使用以下代码获取元素的客户端id: document.getElementById('<%=buttonXXX.ClientID%>' ) document.getElementById(“”) 但现在我使用外部javascript文件进行缓存和更快的渲染 这段代码不再用于获取元素的客户端id,它给出了错误 如何使用 asp.net 2.0、netframework 3.5、c#、iis 7.5您可以使用类选择器。可能会大大简化你在
document.getElementById('<%=buttonXXX.ClientID%>' )
document.getElementById(“”)
但现在我使用外部javascript文件进行缓存和更快的渲染
这段代码不再用于获取元素的客户端id,它给出了错误
如何使用
asp.net 2.0、netframework 3.5、c#、iis 7.5您可以使用类选择器。可能会大大简化你在这里的生活。因此,您可以对控件应用一个特殊类:
<asp:LinkButton ID="foo" CssClass="foo" runat="server" Text="foo" />
我可以建议两种方法
第一条路
在调用javascript之前,在可编译的.aspx文件中定义变量
var ButtonXXXID = <%=buttonXXX.ClientID%>
// and now include your javascript and use the variable ButtonXXXID
把你的行为称为
<script>
// init - create
var <%=this.ClientID%>MyCls = new oNameCls('<%=Control1.ClientID%>');
// do your work
<%=this.ClientID%>MyCls.DoYourWork1();
</script>
//初始化-创建
var MyCls=新的oNameCls(“”);
//做你的工作
MyCls.DoYourWork1();
以这种方式调用该操作可以防止一个控件的一个操作被同一页面上其他控件的相同操作覆盖。在脚本文件(test.js
)
在.aspx
文件中
<script type="text/javascript">
var callTest = test('<%=txtSelected.ClientID%>');
window.onload = callTest;
</script>
var callTest=测试(“”);
window.onload=callTest;
当我没有其他更好的选择时,我在我的.js
文件中使用以下代码
$("[id$='buttonXXX'])
我知道一个老问题,但在jquery中,你可以使用以下方法: Aspx文件
<asp:Button ID="btnCalculate" ClientID="btnCalculate" runat="server" />
$("[ClientID='btnCalculate']").
Darin Dimitrov感谢您的回答,但不幸的是,我没有使用jquery:(而且不知道如何使用。我想我会将我的项目移动到asp.net 4.0,因为它支持静态ID:)嘿,Darin,自从您发布这篇文章已经有几年了,但无论如何,谢谢您。使用类选择器而不是元素id将输入掩码应用于我的网站中的各种元素,这是一种很棒、干净、优雅的方式。@pokemoncrat,你觉得这个答案“解决”了你的问题吗?如果是,请单击绿色小复选标记:)如果不是,请给我们一些反馈,以便我们确定如何为您提供更多帮助。
$("[id$='buttonXXX'])
<asp:Button ID="btnCalculate" ClientID="btnCalculate" runat="server" />
$("[ClientID='btnCalculate']").