簡體   English   中英

在.js文件中使用ASP.Net標簽?

[英]Using ASP.Net tags in a .js file?

是否可以在javascript文件中嵌入<% ... %>標記並讓它呈現相應的服務器端代碼? 如何才能做到這一點?

這個過程實際上與你的想法相反。

您創建一個* .aspx頁面,該頁面呈現為JavaScript文件。 然后,您可以在<script>標記中引用* .aspx頁面:

<script type="text/javascript" src="someJavaScript.aspx"></script>

是的,這是可能的,但它不是一個JS文件,它將是一個帶有Javascript而不是html的aspx文件。

在你的頁面中,為了引用它,你會做:

<script type="text/javascript" src="myPage.aspx"></script>

我將對你想要完成的事情做一些假設。 很可能你有一個javascript文件,需要訪問服務器上的一些信息。 假設您需要一些來自會話的東西,如果它是一個aspx頁面,你會讓它看起來像

<script type="text/javascript">
var username = '<%= Session["username"] %>';
var account_num = '<%= Session["account_num"] %>';
</script>

顯然這不會在.js文件中起作用,因為它永遠不會經過頁面生命周期,但是會處理一個aspx頁面。 但是,您不需要像其他人可能建議的那樣將整個.js文件轉換為.aspx頁面。 還有很多其他方法可以將這些數據公開給你的js代碼。 我會列出2。

  1. 在頁面響應中發出上述<script> (可能使用<asp:ContentPlaceHolder />
  2. 創建一個webservice(甚至可以是一個簡單的.ashx),它返回var username = ...或者甚至更好地返回json

是的,只需制作一個包含Javascript的常規網頁即可。

但是,它可能不會像您期望的那樣。 Javascript文件的緩存時間比頁面長。 由於瀏覽器可能不會每次都從服務器請求文件,因此每次使用該文件時都不會執行該文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM