2011-04-04 39 views
5

我被問及JavaScript,並且對於我提到的幾點不確定。爲什麼把javascript放在asp.net中?

使用ASP.net後,我發現用於處理事件的術語它是代碼隱藏的方法。

但在其他情況下,我發現JavaScript在asp.net頁面中使用。

我的問題是,這是做的JavaScript文件是一個外部的.js文件,可以從任何地方訪問或有不同的原因呢?

感謝您的回覆。

回答

3

如果您在瀏覽器中查看ASP.NET應用程序的頁面源代碼,您將看到ASP.NET創建的所有生成的.axd(javascript資源文件)。

Raynos說,Javascript運行在客戶機上,ASP.NET運行在服務器上。

ASP.NET需要使用客戶端Javascript,因爲ASP.NET通過PostBack處理其事件。就像我說的那樣,這是自動生成的Javscript,可以在臨時的外部.axd文件中即時完成。

現在,在自動生成的Javascript之上,您可以製作自己的Javscript方法,以減少對Http請求/ Round Trips/PostBacks的需求。你可以創建幷包含一個foo.js文件,並把你想要處理的任何功能放在那裏。或者,您可以將您的Javascript內嵌在您的HTML中,方法是將其放入<script type="javascript"></script>標籤中。此外,您可以通過使用頁面方法將服務器端功能移動到客戶端,這些方法基本上可以在您的服務器端方法中創建一個Javascript函數,並允許您在客戶端使用它。

就我個人而言,我喜歡爲我的客戶端需求使用名爲jQuery的Javascript框架。我建議使用google搜索一下,看看最適合你的是什麼。

+0

感謝您的幫助。 – RJF 2011-04-04 20:42:34

+0

不是問題... – 2011-04-04 20:44:50

11

Javascript在客戶機上運行。事件處理在該客戶機上完成,而不與服務器通話。

事件處理背後的ASP.NET代碼是在服務器上完成的。當事件發生時,客戶端與服務器通話,服務器處理該事件並與客戶端進行對話。

後者需要在網絡上進行往返,而且很可能是頁面回傳(除非是異步web方法)。

使用JavaScript進行處理意味着它在本地完成而不會刷新頁面,處理速度更快,服務器上的壓力更小。

當然,如果您的事件處理是操縱數據庫,那麼它應該由服務器處理。如果它正在操作頁面,它應該由客戶端處理。

相關問題