2015-10-21 85 views
0

我對ASP.NET很新。ASP.NET動態腳本文件

我有一個JavaScript文件,我想在頁面加載時動態輸入值。爲了測試這一點,我想:在頁面加載如預期,但VB不執行

$ 
(
    function() 
    { 

     alert('<% = DateTime.Now.ToString("dddd, MMMM d, yyyy") %>'); 
    } 
) 

警報火災;我只是讓VB代碼回顯,就好像它只是另一個字符串。

腳本文件在站點母版頁上在關閉正文標記之前聲明。

我做錯了什麼?謝謝。

+0

什麼'vb'代碼?順便說一句。如果你想從你的問題中執行那個'js'代碼,那麼就在'form'之前關閉'body'之前,將標籤放在'',沒有'function()'。 – nelek

回答

0

<%%>標記之間的代碼是服務器端腳本。它包含的文件應該被服務器解析,所以代碼可以被執行。在Asp.Net中,例如.aspx文件,或在MVC中,.cshtml文件或.vbhtml文件將在頁面發送到客戶端之前由服務器和其上執行的代碼進行分析。

您的JavaScript文件未被服務器解析,並且服務器端代碼在發送到客戶端之前未執行。因此,瀏覽器和JavaScript引擎所看到的實際上就是您鍵入的內容,所以這就是您在警報中看到的內容。

如果您希望在將JavaScript發送到瀏覽器之前執行服務器端代碼,那麼最好的方法是將javascript包含在您的.aspx文件(如果使用webforms)中,您的html所在的位置。

+0

Stephen,謝謝你,這非常有幫助。 –