2011-09-23 573 views
2

ASP.Net Web應用程序。從C#類函數訪問JavaScript函數?

是否有可能訪問位於母版頁上從C#類功能的JavaScript函數?

下面是什麼,我試圖做的描述......

當用戶點擊保存按鈕,稱爲數據庫過程返回值,表示是否成功。該值被饋入位於C#類文件中的C#函數。該函數確定保存成功,有兩個路徑:

成功的軌跡:商店「保存成功」的會話變量。調用JavaScript函數,暫時顯示存儲在會話變量中的消息。

失敗路徑:反轉對此事務編號所做的所有更改。在會話變量中存儲「保存不成功」。調用JavaScript函數以顯示存儲在會話變量中的消息。

我想使用JavaScript來顯示信息,因爲我必須這樣做整齊,無需用戶點擊一個按鈕的功能。

感謝您的幫助! :)

+0

閱讀:http://stackoverflow.com/questions/7016701/creating-jquery-ajax-requests-to-a-php-function/7016795#7016795 – NullUserException

回答

2

使用Ajax。使用JavaScript調用ASP.Net PageMethod並將返回值設爲字符串響應(「Success」/「Failure」)。下面是一篇文章,將幫助你做到這一點:

Calling PageMethods With jQuery

祝你好運!

0
+0

感謝您的迴應!該示例使用了已折舊並現在被認爲已過時的RegisterStartupScript。 http://msdn.microsoft.com/en-us/library/system.web.ui.page.registerstartupscript.aspx 你知道我可以用什麼來代替這段代碼嗎? – G8Tech

0

一般來說,沒有。我並不是說這是不可能的,但這不是正常的方式。

讓我解釋一下。 C#代碼在服務器上運行,用於彙集要傳送到瀏覽器的頁面和腳本。瀏覽器執行javascript。 (瀏覽器包含的JavaScript運行時引擎來完成這個。)

您可以從JavaScript調用C#代碼,但前提是C#代碼通過Web服務暴露出來。 (Think [WebMethod])。

服務器通常不會在創建頁面時使用JavaScript運行時引擎。

我覺得你的情況下,要解決的最簡單路徑是直接顯示郵件使用C#代碼。