因此经过广泛搜索后,我发现为了触发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函数?从Sub函数而不是每个page_load?
谢谢!
答案 0 :(得分:0)
你应该代表这一行
Dim strScript As String = "<script language='javascript' id='myClientScript'>foobar();</script>"
as
Dim strScript As String
strScript = "<script language='javascript' id='myClientScript'>foobar();</script>"
如果你想点击javascript for asp.net按钮,你可以使用OnClientClick
属性和客户端函数OnClientClick="buttonClick()"
: -
<asp:button id="Button1"
runat="server"
OnClientClick="buttonClick()"
Text="Click!" />
答案 1 :(得分:0)
首次加载页面时,将执行使用RegisterStartUpscript方法注入的javascript。当您需要在
之后注入并执行javascript时,请尝试使用RegisterClientScriptBlock方法Type t = this.GetType();
if (!ClientScript.IsClientScriptBlockRegistered(t, "myClientScript"))
{
ClientScript.RegisterClientScriptBlock(t,"myClientScript", sb.ToString());
}
不确定它是否可以在更新面板内工作
答案 2 :(得分: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