我正在ASP.Net環境中構建應用程序,我想從C#後面的代碼調用JavaScript函數。我試圖使用ScriptManager.RegisterStartupScript()方法,它打錯誤,說「名稱'ScriptManager'不存在於當前的競爭」,我已經包含命名空間System.Web.UI,但仍然有這個錯誤。無法調用JavaScript函數從後面的代碼
任何想法如何發生?或者有更好的解決方法,而不是使用ScripManager從代碼背後觸發JavaScript函數?
感謝您的高級。
我正在ASP.Net環境中構建應用程序,我想從C#後面的代碼調用JavaScript函數。我試圖使用ScriptManager.RegisterStartupScript()方法,它打錯誤,說「名稱'ScriptManager'不存在於當前的競爭」,我已經包含命名空間System.Web.UI,但仍然有這個錯誤。無法調用JavaScript函數從後面的代碼
任何想法如何發生?或者有更好的解決方法,而不是使用ScripManager從代碼背後觸發JavaScript函數?
感謝您的高級。
試試這個,
Page.RegisterStartupScript("some_name","javascript function enclosed with script tag")
在這裏閱讀更多MSDN上有關的RegisterStartupScript http://msdn.microsoft.com/en-us/library/asz8zsxy.aspx
另外,還要確保你在頁面上的形式。如果頁面上沒有表單,那麼腳本將無法執行。
我想這可能是由於頁面上沒有FORM,但用戶crontrol,我用Page.ClientScript.RegisterStartUpScript()和JavaScript函數不起作用。任何解決方法? – sams5817
你的問題不清楚。代碼背後的代碼執行時,是否要同時調用JavaScript函數?如果是這種情況,那麼這是不可能的。 Javascript在客戶端運行,代碼在服務器端運行。控制是客戶端或服務器端,它不能同時在兩邊。
ScriptManager.RegisterStartupScript
的功能是,在瀏覽器加載文檔時,它會在頁面底部添加一段腳本。這將允許您從頁面的JavaScript代碼中調用新添加的JavaScript代碼。這使您可以在後端創建自定義JavaScript代碼並將其推送到頁面加載。
如果還有其他情況,請澄清。
ClientScriptManager cs = Page.ClientScript;
cs.RegisterClientScriptBlock(GetType(), "GenerateMatrixText", script, true);
如果這不起作用,那麼可能會出現安裝的ajax版本問題 – Chief
從你的代碼中究竟(從哪個事件處理函數)中調用'ScriptManager.RegisterStartupScript'方法? – Amry
把一些代碼請 – Boomer