1

したがって、広範囲にわたる検索の結果、javasript関数をトリガーするために、次のことができることがわかりました。

<script>
function foobar()
  {
   alert("foobar");
  }
</script>

Dim strScript As String = "<script language='javascript' id='myClientScript'>foobar();</script>"

Page.RegisterStartupScript(“callTest”,strScript)

ただし、Page.RegisterStartupScriptは、Page_load関数でのみ機能しているようです。

私がそれをサブに入れるとき、このように:

Sub Test

Dim strScript As String = "<script language='javascript' id='myClientScript'>foobar();</script>"

Page.RegisterStartupScript(“callTest”,strScript)

End Sub

これは機能しません。上記の関数をaspボタンにリンクします。ボタンをトリガーしましたが、何も起こりません。では、asp.netから条件付きでjavaScript関数をトリガーする方法はありますか?すべてのpage_loadではなくSub関数から?

ありがとう!!

4

3 に答える 3

0

RegisterStartUpscriptメソッドを使用して挿入されたJavaScriptは、ページが最初に読み込まれたときに実行されます。後にjavascriptを挿入して実行する必要がある場合は、RegisterClientScriptBlockメソッドを使用してみてください。

Type t = this.GetType();
if (!ClientScript.IsClientScriptBlockRegistered(t, "myClientScript"))
{
   ClientScript.RegisterClientScriptBlock(t,"myClientScript", sb.ToString());
}

ただし、アップデートパネル内で機能するかどうかはわかりません

于 2012-08-03T19:03:23.107 に答える
0

以下は、私が使用していて、私が働いている多くのWebアプリケーションで使用しているJavaScript関数です。この特定の例では、クライアントのIPアドレスをネットワーク上の所定のIPアドレスと比較しています。クライアントのIPが一致しない場合は、特定のコンピューター端末が許可されていないことをユーザーに通知するメッセージボックスを表示します。これらの特定の要求を行います。

Dim ipAdd as string = nothing
ipAdd = Request.ServerVariables.Item("REMOTE_ADDR")
If ipAdd <> "###.###.###.###" then
ClientScript.RegisterClientScriptBlock(Page.GetType, "Script", "<script language='javascript'>alert('This terminal is not permitted to submit requests.');</script>")
End If
于 2013-01-18T14:39:32.607 に答える
0

この行を表す必要があります

Dim strScript As String = "<script language='javascript' id='myClientScript'>foobar();</script>"

なので

Dim strScript As String
strScript = "<script language='javascript' id='myClientScript'>foobar();</script>"

asp.netボタンのクリックのためにjavascriptを呼び出したい場合はOnClientClick、クライアント側の関数で属性を使用できますOnClientClick="buttonClick()":-

<asp:button id="Button1" 
  runat="server" 
  OnClientClick="buttonClick()" 
  Text="Click!" />
于 2012-08-03T18:39:09.867 に答える