2012-07-08 89 views
1

我正在開發一個asp.net web應用程序,我有這個腳本的源代碼:如何執行/調用ASP.NET Web應用程序C#方法中的JavaScript方法

<script language="javascript" type="text/javascript"> 
    function showWindow(URL, controlID, targetControlID,id) 
    { 
     noweOkno = window.open(URL + '?controlID='+controlID+'&targetControlID=' + 
     targetControlID+'&id='+ id, '_blank', 
     'menubar=no, toolbar=no, location=no, scrollbars=no, resizable=no, ' + 
     'status=no, width=760, height=600, left=30, top=30') 
     noweOkno.focus(); 
    } 
    </script> 

我可以稱它爲驗證碼:

Button4.Attributes["onClick"] = string.Format("showWindow('Child.aspx','{0}', '{1}','{2}');", tbVer.ClientID, Hidden1.ClientID, id_act); 

我的問題是,如何調用JavaScript在像一些C#方法:

protected void someMethod() 
{ 
-I want to call showWindow('Child.aspx','{0}', '{1}','{2}');", tbVer.ClientID, Hidden1.ClientID, id_act); 
} 

感謝

+0

微軟提供ASP.Net AJAX這種模式混合服務器端代碼和客戶端代碼 - 請參閱http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/ModalPopup/ModalPopup.aspx以瞭解ModalPopup控件,它似乎可以按照您的需要進行操作。您還可以查看http://msdn.microsoft.com/en-us/library/ms178208.aspx中的其他一些選項。 – dash 2012-07-08 09:35:00

+0

只是不要忘記用戶的HTML和URL編碼在需要的地方,否則特殊字符可以搞砸你的腳本! – 2012-07-08 09:51:40

回答

0

可以註冊腳本塊到頁像上運行:

ClientScript.RegisterStartupScript(GetType(),"hwa","function_name;",true); 
+0

上面的代碼會在頁面底部添加代碼,如果你想添加它在打開窗體標籤後,使用RegisterClientScriptBlock(...) – adinas 2012-07-08 10:29:25

0

可以使用clientscriptmanager

ClientScriptManager.RegisterStartupScript(this.GetType(), "AKey", "MyFunction();", true); 

http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

+0

我已經閱讀過這篇文章,但是很遺憾沒有完全理解它,你在使用Akey和MyFunction的時候會提到什麼?現在再讀一遍:) – TBogdan 2012-07-08 09:35:19

+0

'AKey'只是識別腳本的一個關鍵,這個是確保您的腳本只在頁面中註冊一次 – Jupaol 2012-07-08 09:37:28

+0

由'MyFunction();'表示的文本實際上可以是任何javascirpt代碼,最後一個參數指示腳本是否應該在呈現時包含在javascript標記中 – Jupaol 2012-07-08 09:38:28

相關問題