2017-01-23 8 views
0

У меня есть элемент управления ASP LinkButton, который находится на главной странице. На одной из страниц Содержания я хочу установить анимацию прокрутки для этого элемента, когда пользователь будет доставлен на эту страницу с определенной страницы.Установите селектор jQuery на asp.net-код за переменной на странице содержимого, которая поступает из элемента управления главной страницей

То, что я хочу сделать, это динамически установить селектор JQuery, основанный на переменной VB.net строки (набор из идентификатора управления)

ContentPage.aspx:

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

ContentPage.aspx.vb

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

Это становится идентификатор, однако при попытке т о обновлении ContentPage.aspx я

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

P.S Должен ли я добавлять код JQuery целиком из кода позади, а не менять только селектор?

ответ

1

Ваша проблема в том, что Dim фактически объявляет что-то частным. Попробуйте объявить свою строку с помощью Protected или Public.

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

Надеюсь, что это поможет!

Кроме того, что касается вашего P.S .: То, как вы это делаете, или от codebehind с использованием RegisterClientScriptBlock, является прекрасным (imho). Я думаю, что это зависит от предпочтений, я бы советовал стараться быть последовательным.

+0

Спасибо, что это сработало, мне просто пришлось немного изменить порядок на странице - объявить вверху и установить в моей функции загрузки страницы. – jonnow

 Смежные вопросы

  • Нет связанных вопросов^_^