在来自主页面控件的内容页面中的变量后面的asp.net代码上设置jQuery选择器

时间:2017-01-23 10:44:20

标签: jquery asp.net vb.net webforms

我有一个位于Master页面的ASP LinkBut​​ton控件。在其中一个内容页面上,当用户从某个页面进入该页面时,我想为该元素设置滚动动画。

我想要做的是根据VB.net字符串变量动态设置jQuery选择器(从控件的ID设置)

ContentPage.aspx:

$('body').animate({
    scrollTop: $('#<%= scrollToControl %>').offset().top + 'px'
}, 500, 'swing');

ContentPage.aspx.vb

Dim scrollToControl As String = CType(Master.FindControl("someControl"), LinkButton).ClientID

这是获取ID,但是当我尝试更新ContentPage.aspx时,我得到了

scrollToControl is not declared. It may be inaccessible due to its protection level

P.S我是否应该完全从后面的代码中添加jQuery代码而不仅仅是改变选择器?

1 个答案:

答案 0 :(得分:1)

你的问题是Dim实际上宣称某些内容是私有的。 尝试使用ProtectedPublic声明字符串。

Protected scrollToControl As String = CType(Master.FindControl("someControl"), LinkButton).ClientID

希望有所帮助!

此外,关于你的P.S。:你使用RegisterClientScriptBlock的方式或代码隐藏方式都很好(imho)。我认为这取决于偏好,我建议尝试保持一致。