是否可以使用javascript或jquery从控件中获取分配给User Control的ID。
由于
答案 0 :(得分:2)
你可以在usercontrol上放一个类,然后使用类似$(“。myUC”)的东西.attr(“id”)
答案 1 :(得分:2)
ASP.NET通常做的是在控件的ID前面添加一个字符串,用于确定实际控件所在的ASP.NET控件树中的位置。
考虑到这一点,我通常做的是使用jQuery的'ends with'选择器在运行时获取完整的ASP.NET解析ID。
类似的东西:
// get a handle on your original control
var myControl = $('[id$="<myOriginalId>"]');
// and then access it's properties
var myRuntimeId = myControl.eq(0).attr('id');
正如您可能想象的那样,当您使用在表单的不同位置使用相同ID的UserControl时,不会削减它。我只是跳进去并在那里进行一些调整(可能使用.eq()
函数)以满足我的业务需求。
答案 2 :(得分:1)
这可能会帮助您从不同的角度来看待它:
在.Net中,您可以使用myControl.ClientID
获取生成的ID。
如果你把它放在一个javascript变量中 - 我知道它不整齐 - 你可以轻松地获取它。
<!--mypage.aspx-->
<script>
var myIdVar = "<%=myControl.ClientID%>";
if(myIdVar == "foo")
{
alert("bar");
}
</script>