我正在寫一個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. 使用Jquery或Javascript觸發mousemove事件
- 4. 使用dojo/javascript觸發點擊事件?
- 5. ASP.Net Session_Start事件未觸發
- 6. Javascript事件觸發器
- 7. Javascript mousemove事件觸發
- 8. 在JavaScript中觸發事件
- 9. 使用WPF事件觸發事件
- 10. 用Javascript觸發「粘貼」事件
- 11. 事件觸發文件上傳在asp.net
- 12. javascript事件發生之前觸發
- 13. 使用Javascript觸發事件發送HTTP POST
- 14. 使用事件觸發消耗OSX鼠標/觸控板事件
- 15. ASP.NET DropDownList OnSelectedIndexChanged事件沒有被觸發
- 16. ASP.NET AJAX PageLoad事件未觸發
- 17. ASP.NET TextBox OnTextChanged事件不會觸發
- 18. asp.net - 按鈕事件不會觸發
- 19. onmenuitemclick事件不在IE6中觸發ASP.NET
- 20. 如何停止觸發事件+ ASP.NET
- 21. ASP.NET HttpApplication.EndRequest事件未被觸發
- 22. 沒有觸發GridView的OnPageIndexChanging事件ASP.NET
- 23. asp.net DropDownList事件沒有觸發
- 24. asp.net按鈕事件觸發問題
- 25. asp.net Button OnClick事件沒有觸發
- 26. ASP.NET/C#:DropDownList SelectedIndexChanged事件未觸發
- 27. ASP.NET GridView的RowUpdating事件不觸發
- 28. 如何在UpdateProgress放置在ASP.NET c#之後觸發JavaScript事件?
- 29. asp.net javascript .click()事件不在服務器上觸發
- 30. 觸發事件
另外:使用隱藏字段來存儲收到的信息有助於在回發期間不丟失它。恕我直言,這是一個很好的方式來做到這一點,「好...它有效」是一種很好的方式。據我所知,ASP.Net使用無償數額的能源......呃隱藏的領域,正確地做回傳。 – 2009-07-06 15:27:19