2011-10-12 44 views
0

我正在ASP.Net環境中構建應用程序,我想從C#後面的代碼調用JavaScript函數。我試圖使用ScriptManager.RegisterStartupScript()方法,它打錯誤,說「名稱'ScriptManager'不存在於當前的競爭」,我已經包含命名空間System.Web.UI,但仍然有這個錯誤。無法調用JavaScript函數從後面的代碼

任何想法如何發生?或者有更好的解決方法,而不是使用ScripManager從代碼背後觸發JavaScript函數?

感謝您的高級。

+1

從你的代碼中究竟(從哪個事件處理函數)中調用'ScriptManager.RegisterStartupScript'方法? – Amry

+1

把一些代碼請 – Boomer

回答

0

試試這個,

Page.RegisterStartupScript("some_name","javascript function enclosed with script tag") 
0

在這裏閱讀更多MSDN上有關的RegisterStartupScript http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx

另外,還要確保你在頁面上的形式。如果頁面上沒有表單,那麼腳本將無法執行。

+0

我想這可能是由於頁面上沒有FORM,但用戶crontrol,我用Page.ClientScript.RegisterStartUpScript()和JavaScript函數不起作用。任何解決方法? – sams5817

0

你的問題不清楚。代碼背後的代碼執行時,是否要同時調用JavaScript函數?如果是這種情況,那麼這是不可能的。 Javascript在客戶端運行,代碼在服務器端運行。控制是客戶端或服務器端,它不能同時在兩邊。

ScriptManager.RegisterStartupScript的功能是,在瀏覽器加載文檔時,它會在頁面底部添加一段腳本。這將允許您從頁面的JavaScript代碼中調用新添加的JavaScript代碼。這使您可以在後端創建自定義JavaScript代碼並將其推送到頁面加載。

如果還有其他情況,請澄清。

1
ClientScriptManager cs = Page.ClientScript; 
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true); 
+0

如果這不起作用,那麼可能會出現安裝的ajax版本問題 – Chief

相關問題