Member 13779417 Ответов: 0

Передача переменной в функцию javascript и ее выполнение - VB.NET


Я использую Asp.Net/VB.Net для моего сайта и на конкретной странице Я пытаюсь использовать некоторый Javascript для установки горизонтальной полосы прокрутки. Я не знаю javascript, но мне удалось заставить работать следующее. Когда вы нажимаете кнопку, она изменяет положение прокрутки. Однако теперь мне нужно избавиться от кнопок и просто иметь VB.Чистый код передает 'posNo' через функцию при загрузке страницы, так что полоса прокрутки устанавливается автоматически..
<asp:ImageButton ID="Button1" runat="server" ImageUrl="files/images/icons/Button1.gif" OnClientClick="gotoPage(1);return false;" ValidationGroup="Client" />
<asp:ImageButton ID="Button2" runat="server" ImageUrl="files/images/icons/button2.gif"  OnClientClick="gotoPage(2);return false;" ValidationGroup="Client" />
<asp:ImageButton ID="Button3" runat="server" ImageUrl="files/images/icons/button3.gif" OnClientClick="gotoPage(3);return false;" ValidationGroup="Client" />

<!-- javascript function -->
<script>
function gotoPage(posNo) {
     var scroll = 260 * posNo;
     document.getElementById('myScrollbox').scrollLeft = scroll;
}
</script>


Что я уже пробовал:

Так что это то, что я пытался (я, вероятно, далеко).. Я удалил кнопки и попробовал это как VB-код..
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
     Dim posNo As Integer = "2"
     Dim cstype As Type = Me.GetType()
     Page.ClientScript.RegisterStartupScript(cstype, "goToPage('" & posNo & "');", True)
End Sub

Richard Deeming

Кроме назначения строкового литерала целочисленной переменной, что плохого в том, что вы пробовали?

Dim posNo As Integer = "2"
должно быть
Dim posNo As Integer = 2


И вам не нужны одинарные кавычки вокруг goToPage аргумент:
Page.ClientScript.RegisterStartupScript(cstype, "goToPage(" & posNo & ");", True)

0 Ответов