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 中时,像这样:

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?

谢谢!!

4

3 回答 3

0

下面是我正在使用的 JavaScript 函数,并已在我工作的众多 Web 应用程序中使用过。在这个特定示例中,我将客户端 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 回答
0

使用 RegisterStartUpscript 方法注入的 javascript 在页面首次加载时执行。当您需要在

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

不确定它是否可以在更新面板中工作

于 2012-08-03T19:03:23.107 回答