2012-08-03 82 views
1

所以經過廣泛的搜索,我發現,爲了觸發javasript功能,我們可以這樣做:如何從asp.net Sub函數調用JavaScript函數?

<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函數呢?從一個Sub函數而不是每個page_load?

謝謝!

+0

如果你不希望它在page_load期間被調用,當**做**你想要它調用? – Curt 2012-08-03 18:38:21

+0

基本上我有一個asp按鈕,用戶點擊asp按鈕後,我想要調用javascript。 – eastboundr 2012-08-03 18:39:42

回答

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!" /> 
+0

我改變了它,但仍然沒有發生。 – eastboundr 2012-08-03 18:42:14

+0

感謝Siva,我實際上使用該按鈕來觸發ajax/updatepanel。和我使用的JavaScript函數用於報告結果...所以與OnClientClick,javascript功能被激發得太早,並且發生了ajax更新之後,這不是我想要的... – eastboundr 2012-08-03 18:52:18

0

使用RegisterStartUpscript方法在第一次加載頁面時執行。嘗試使用RegisterClientScriptBlock方法時,你需要注入後的

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

不知道執行的JavaScript,如果將一個UpdatePanel內的工作,雖然

0

下面是我使用和衆多網絡上已經使用的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