2012-02-08 93 views
1

在將我的.js文件發送給客戶端之前,我可以獲取打印數據嗎?我希望能夠將會話ID打印到變量中以用於解決flash cookie錯誤。這是我的代碼:js中的.NET包含文件

//Add our custom post-params 
       var auth = "<% = If(Request.Cookies(FormsAuthentication.FormsCookieName) Is Nothing, String.Empty, Request.Cookies(FormsAuthentication.FormsCookieName).Value) %>"; 
       var ASPSESSID = "<%= Session.SessionID %>"; 

       this.setPostParams({ 
        ASPSESSID: ASPSESSID, 
        AUTHID: auth 
       }); 

這在我的js文件中顯示的方式完全一樣。我想要服務器來處理代碼!

回答

1

您不能在js文件中包含.NET標記。如果您真的想要這樣做,您可以使用ashx文件生成動態腳本文件。

爲什麼把它寫在JS文件中?用ClientScriptManager.RegisterClientScriptBlock將它寫入頁面,以便JavaScript可以正確緩存。只要包含的腳本出現在代碼之後,腳本仍然可以訪問頁面中的變量。

+0

我想要一個通用的js文件,我可以在我所有使用swfupload(幹我的代碼)的頁面上包含該文件。這樣我就可以調用我的makeSWFUpload函數並自動執行其他任何操作。 – 2012-02-08 00:23:23

-1

我想你想立即使用if。像:

var auth = "<% = iif(Request... 
+0

不,JS文件不會呈現服務器端代碼。 – epascarello 2012-02-08 00:14:47

+0

哎呀。錯誤的問題。錯過了關於「.js」文件的一點。 – ozczecho 2012-02-08 00:19:35