我有一个位于Master页面的ASP LinkButton控件。在其中一个内容页面上,当用户从某个页面进入该页面时,我想为该元素设置滚动动画。
我想要做的是根据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代码而不仅仅是改变选择器?
答案 0 :(得分:1)
你的问题是Dim
实际上宣称某些内容是私有的。
尝试使用Protected
或Public
声明字符串。
Protected scrollToControl As String = CType(Master.FindControl("someControl"), LinkButton).ClientID
希望有所帮助!
此外,关于你的P.S。:你使用RegisterClientScriptBlock
的方式或代码隐藏方式都很好(imho)。我认为这取决于偏好,我建议尝试保持一致。