我正在寫一個asp.net web應用程序。我碰到了一堵磚牆。 基本上我有2頁,主頁面中有一個文本框和一個包含樹視圖的彈出窗口。 我的問題是這樣的。當我選擇一個樹形視圖項目時,我希望程序使用asp.net執行一些數據庫事務,然後將從數據庫中檢索到的值傳遞給JavaScript函數,該函數將數據從彈出頁面傳遞迴父頁面。我的問題是,我無法找到從asp.net調用JavaScript函數的任何方式。我已經嘗試在頁面加載時將屬性分配給控件,但這不起作用,因爲頁面加載數據時尚未從數據庫中檢索。使用asp.net觸發javascript事件
回答
看看ClientScriptManager類。您可以從加載HTML頁面時將運行的代碼隱藏中註冊腳本。這些腳本可以調用頁面上的其他JavaScript函數。
Web上有很多教程和示例。這裏有一個我發現可能有幫助,但還有更多。 How to use the client script manager
當你說「我已經嘗試在頁面加載時將屬性分配給控件,但這不起作用,因爲頁面加載數據時沒有從數據庫中檢索」。您只需要發現何時從數據庫中提取數據,然後再分配值。沒有看你的代碼,沒有辦法知道確切的事情,但Page_PreRender可能是分配你的值的一個很好的選擇......它可能是在你從數據庫中提取信息之後......這幾乎是你最後的地方可以在爲客戶端生成html之前讓事情發生。
您可以調用駐留在主頁面中的函數,並從彈出窗口的子頁面在主頁面中調用該函數。
請參閱這些鏈接,引用
http://www.webmasterworld.com/forum91/2957.htm
http://hspinfo.wordpress.com/2008/01/12/call-parent-windows-javascript-function-from-child-window/
這一個有助於使用檢索從值彈出窗口的JavaScript http://www.eggheadcafe.com/articles/20060117.asp
這篇文章演示瞭如何使用javascript觸發回發,並在代碼隱藏中對其進行管理。 http://weblogs.asp.net/mnolton/archive/2003/06/04/8260.aspx
如果將它們放在一起,並使用Control.ClientID來查找您的asp.net控件的實際「html名稱」,您將可以立即設置它。
可能不是在城裏做最漂亮的方式,並且順便讓小寶貝耶穌哭,但無論如何,它的工作原理。
[編輯]哦。我剛剛看到,似乎我以其他方式回答了問題,或者「如何從Javascript觸發代碼隱藏」。我認爲我建議的方法可以幫助你,如果你正確地使用它。
彈出窗口的javascript應該將信息傳遞給父窗口,並且父窗口函數在接收到信息時應該調用回發。
彈出窗口的javascript應該只在回發時被註冊,並且檢索到正確的信息,以便當由於選擇正確的信息而在彈出窗口上發生回發時,窗口關閉並將信息傳遞給父頁面。
觸發回傳的父頁面會完成您需要的事情,並且應用程序會從此處繼續「正常」,根據需要執行您在彈出頁面外的任何操作。
- 1. 使用javascript在asp.net中觸發事件
- 2. 用javascript觸發Silverlight事件
- 3. 使用dojo/javascript觸發點擊事件?
- 4. 使用Jquery或Javascript觸發mousemove事件
- 5. 使用php觸發JavaScript滾動事件
- 6. 試圖從JavaScript觸發ASP.NET中的button.click()事件。事件不會觸發
- 7. ASP.NET事件沒有觸發
- 8. ASP.Net Session_Start事件未觸發
- 9. ASP.NET事件不會觸發
- 10. JavaScript事件觸發兩次
- 11. 觸發onclick事件的JavaScript
- 12. 在JavaScript中觸發事件
- 13. Javascript事件觸發錯誤
- 14. Javascript事件觸發器
- 15. Javascript onClick事件未觸發
- 16. Javascript mousemove事件觸發
- 17. 觸發KeyUp事件在Javascript
- 18. Javascript事件觸發器
- 19. 使用window.location.hash觸發事件
- 20. 使用WPF事件觸發事件
- 21. 從ASP.NET MVC控制器觸發/調用JavaScript/jQuery事件
- 22. 只觸摸觸發Javascript事件
- 23. 用Javascript觸發「粘貼」事件
- 24. 事件觸發文件上傳在asp.net
- 25. javascript事件發生之前觸發
- 26. Javascript中的併發觸發事件
- 27. 使用Javascript觸發事件發送HTTP POST
- 28. asp.net按鈕事件觸發問題
- 29. asp.net DropDownList事件沒有觸發
- 30. 如何停止觸發事件+ ASP.NET
另外:使用隱藏字段來存儲收到的信息有助於在回發期間不丟失它。恕我直言,這是一個很好的方式來做到這一點,「好...它有效」是一種很好的方式。據我所知,ASP.Net使用無償數額的能源......呃隱藏的領域,正確地做回傳。 – 2009-07-06 15:27:19