是否可以將<% ... %>
標籤嵌入到JavaScript文件中並讓它呈現相應的服務器端代碼?如何才能做到這一點?在.js文件中使用ASP.Net標記?
回答
的過程實際上是倒退從你在想什麼。
您創建了呈現爲JavaScript文件的* .aspx頁面。然後,您可以參考在<script>
標記,* .aspx頁面中:
<script type="text/javascript" src="someJavaScript.aspx"></script>
.aspx文件的外觀如何?我幾乎可以得到這個工作,但第二個.aspx文件似乎無法引用第一個。 – 2016-09-22 16:42:04
是的,這是可能的,但它不會是一個JS文件,它將是一個帶Javascript的aspx文件而不是html。
在您的網頁,以refrence它,你會怎麼做:
<script type="text/javascript" src="myPage.aspx"></script>
是的,這可以通過簡單地使一個普通網頁,其中包含的JavaScript來代替。
但是,它可能不像您預期的那樣。 JavaScript文件緩存的時間比頁面長。由於瀏覽器可能不會每次從服務器請求文件,因此每次使用文件時都不會執行該文件。
有很多方法可以讓瀏覽器抓住它的每個請求 – 2011-06-15 20:39:23
防止緩存可能是一個頭痛的問題。有標題可以添加工作*大部分時間http://stackoverflow.com/q/49547/866236,但我發現一些瀏覽器仍然緩存文件。使用時間戳添加get參數似乎更可靠:。 – Dan 2014-05-12 21:40:29
我打算對你正在努力完成的事情做一些假設。很可能你有一個JavaScript文件需要訪問服務器上的一些信息。比方說,你需要一些東西從會話,如果它是一個ASPX頁面你會讓它看起來像
<script type="text/javascript">
var username = '<%= Session["username"] %>';
var account_num = '<%= Session["account_num"] %>';
</script>
顯然這不會在.js文件中工作,因爲它從來沒有經歷頁面的生命週期一個aspx頁面將被處理。但是,您不需要像其他人可能提示的那樣將整個.js文件轉換爲.aspx頁面。還有很多其他方法可以將這些數據展示給您的js代碼。我將列出2
- 發出上述
<script>
在你的頁面響應(可能使用<asp:ContentPlaceHolder />
) - 創建一個Web服務(甚至可以是一個簡單ashx的),返回
var username = ...
甚至更好的回報JSON
- 1. ASP.net WebForms - 在標記中使用GetRouteUrl
- 2. 格式標記文件在ASP.NET
- 3. 如何使用ASP.NET加載.js文件?
- 4. 管理視圖文件和JS標記
- 5. 不能使用腳本標記添加js文件
- 6. URL標記使用ASP.NET MVC4
- 7. 如何在數據庫中使用標記生成asp.net控件
- 8. 將文件標記爲「正在使用」
- 9. 在JS文件中訪問ViewBag - Asp.net MVC
- 10. 在Eclipse中標記文件
- 11. 在ASP.NET在一個XML文件中使用ELMAH記錄異常
- 12. 使用resx文件來標記標籤
- 13. 在使用Django的文件中使用標記
- 14. 在JBoss 7.2中禁用標記文件
- 15. 崇高的文本3意外標記在js文件非法
- 16. 如何在js中使用樣式標記中的變量
- 17. Java:標記/標記文件
- 18. 創建一個asp.net控件時,如何在標記中啓用子標記?
- 19. 如何在asp.net中使用本地文件系統中的定位標記打開文件
- 20. 使用js(angularJS)google.maps.api的多層標記
- 21. 使用D3.js中的標記過渡路徑長度會使標記消失
- 22. 在Symfony中爲js文件使用Assetic
- 23. 在js文件中使用jQuery
- 24. 在index.html文件中使用JS變量
- 25. 在公共JS文件中使用Node.js
- 26. 在JS文件中使用PHP
- 27. 在.JS文件中使用C#代碼?
- 28. 在js文件中使用php var
- 29. 在我的.js文件中使用jquery
- 30. GridView的出口記錄爲文本文件中使用ASP.Net C#
根據SO,你們都同時回答。 – Amy 2011-06-15 21:31:42