1

こんにちは私はこのPage.ClientScript.RegisterStartupScript()を使用してvbコードビハインドからjavascript関数を呼び出しています、これは私と一緒にうまく機能します私の質問はコードビハインドからjavascript関数に変数を送信する方法ですここで私が試したものですこれまでのところ :

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
   Handles Me.LoadComplete
    Dim Myname As String = "myName"
    Dim cstype As Type = Me.GetType()
    Page.ClientScript.RegisterStartupScript(cstype, "MyKey", "hello(Myname);",
  True)

End Sub 

javascript:

   <script type="text/javascript">
    function hello(name) {
        alert("hello world from javascript " + name)
    }
</script>

ありがとうございました ...

4

2 に答える 2

3

文字列を渡すには、正しい引用符を使用する必要があります。

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
   Handles Me.LoadComplete
    Dim Myname As String = "myName"
    Dim cstype As Type = Me.GetType()
    Page.ClientScript.RegisterStartupScript(cstype, "MyKey", "hello('" & Myname & "');",
  True)

End Sub 

変数名を一重引用符で囲んでいることに注意してください。

クライアント側とサーバー側のコード間でデータを双方向に渡す別の方法は、隠しフィールドです。

<asp:HiddenField ID="xhidMyname" runat="server" />

また

<input type="hidden" id="xhidMyname" runat="server" />

このフィールドには、「value」プロパティを介してクライアント側とサーバー側の両方にアクセスできます。

于 2012-06-15T13:24:24.893 に答える
1
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
   Handles Me.LoadComplete
    Dim Myname As String = "myName"
    Dim cstype As Type = Me.GetType()
    Page.ClientScript.RegisterStartupScript(cstype, "MyKey", "hello('"&Myname&"');",
  True)

End Sub 
于 2012-06-15T12:52:36.707 に答える