jQuery和UserControl属性访问

时间:2010-08-17 14:57:03

标签: asp.net jquery user-controls

如何使用jQuery

访问asp:userControl的属性
$("#<% =ucControl1.ClientID%>").find("[id$='Panel1']").hide();

我正在尝试使用usercontrol显示一个asp:Panel,但它不起作用。

<div id="ctl00_ContentPlaceHolder1_ctl02_ucControl1_Panel1">

 content....

</div>

呈现的jQuery如下:

 $("#ctl00_ContentPlaceHolder1_ctl02_ucControl1").find("[id$='Panel1']").show(); 

2 个答案:

答案 0 :(得分:2)

如果您在用户控件上设置了Visible="false",那么您无法使用客户端代码显示它,因为它不是由服务器端呈现的(它不是生成的HTML的一部分)页)。

您可以做的是将Visible="true"留在用户控件上并将其放入隐藏的包装器DIV中,然后可以在客户端显示:

<div style="display:none" id="uc1Wrapper">
 <uc1:usercontrol Visible="true" runat="server">...
</div>

...

$("#uc1Wrapper").show();

答案 1 :(得分:1)

如果您没有手动将ClientID作为ID包含在用户控件的呈现标记中,则不会呈现它(即ASP.NET不会使用ClientID呈现围绕用户控件的包装元素)。你的ID选择器可能找不到任何东西。