使用User Control元素和jQuery自动更正ID引用

时间:2011-11-27 16:47:06

标签: jquery asp.net user-controls

自从进入ASP.NET以来,我发现了许多非常酷的功能,这使得编程变得更加容易。

虽然我正在努力解决一个问题。

如果我创建一个具有大量与之关联的Javascript函数的用户控件,则在呈现用户控件时,.NET会根据用户控件的名称更改具有前置值的所有内容的ID,它包含PlaceHolder和MasterPage的ID。

显然,这会阻止任何ID依赖的javascript正常工作。

我可以通过手动更改javascript中的引用来解决这个问题,但如果我想将此内容放入其他placeHolder怎么办?

有没有办法动态克服这个问题?

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:您可以使用ClientID属性将控件名称注入JavaScript -

var txt = document.getElementById('<%=TextBoxID.ClientID%>');

或在.net 4中,您可以通过ClientIDMode属性控制控件的命名,本文还有其他详细信息 - http://www.4guysfromrolla.com/articles/031710-1.aspx

答案 1 :(得分:1)

您可以使用ClientIDMode="Static"(在.net4中提供)限制ASP.Net使用您选择的ID

这是一篇详细解释它的文章

http://www.codeproject.com/KB/aspnet/ASP_NET4_0ClientIDFeature.aspx