2017-01-23 8 views
0

私はマスターページにあるASP LinkBut​​tonコントロールを持っています。コンテンツページの1つで、ユーザーが特定のページからそのページに移動したときに、その要素のスクロール先のアニメーションを設定します。マスターページコントロールから来るコンテンツページの変数asp.netコードバックにjQueryセレクタを設定します

私は動的に(コントロールのIDから設定)VB.net文字列変数

ContentPage.aspxに基づいてjQueryのセレクタに設定されて何をしたいか:

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

をContentPage.aspx.vb

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

私はトンをしようとすると、しかし、これは、IDを取得していますO私は、コードから完全にjQueryのコードを追加することの背後にあるだけではなく、セレクタを変更する必要があります

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

P.S取得ContentPage.aspxを更新しますか?

答えて

1

あなたの問題は、Dimが実際にはプライベートとして何かを宣言していることです。 ProtectedまたはPublicで文字列を宣言してください。

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

また、あなたのP.S.に関して:RegisterClientScriptBlockを使用してコードビハインドからやる方法はどちらもきれいです(imho)。私は好みにしていると思う、私は一貫しているように助言したい。

+0

これはうまくいきました。私はちょうどページのビットを並べ替える必要がありました - 一番上に宣言し、ページロード機能で設定してください。 – jonnow

関連する問題