正确使用Jquery的$ get来检索控件

时间:2011-06-16 07:02:34

标签: c# jquery asp.net

如何在JQuery中引用控件,以便在控件不存在的情况下不会引发错误?

即:此时此命令会在asp.net中引发服务器错误

if ($get('<%= Panel1.ClientID %>') != null) {   <-- Fails with "The name 'Panel1' does not exist in the current context"
  $get('<%= Panel1.ClientID %>').scrollTop = yPos;
}

存在于母版页中,但对于某些内容页面将存在,在这些情况下,我有代码重置滚动位置。

由于

2 个答案:

答案 0 :(得分:2)

这是服务器端问题,而不是jQuery。在生成页面时,在服务器端评估Panel1.ClientID

此外,您需要的jQuery是$('#<%= Panel1.ClientID %>')

答案 1 :(得分:1)

您可以为此面板指定一些CSS类,然后在jQuery中使用CSS选择器:

$('.someClassNameOfThePanel').scrollTop(yPos);

在服务器上Panel可能如下所示:

<asp:Panel ID="Panel1" runat="server" CssClass="someClassNameOfThePanel">
    ...
</asp:Panel>