從外部JavaScript文件中,我需要檢查IsPostBack
(ASP.NET頁面)。以下是我在Google上搜尋後發現:檢查外部JavaScript文件中的IsPostBack
var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;
但<%=
%>
似乎並不在外部JS文件得到認可。如果是這樣,那麼備用解決方案是什麼?
從外部JavaScript文件中,我需要檢查IsPostBack
(ASP.NET頁面)。以下是我在Google上搜尋後發現:檢查外部JavaScript文件中的IsPostBack
var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;
但<%=
%>
似乎並不在外部JS文件得到認可。如果是這樣,那麼備用解決方案是什麼?
您將無法從外部文件執行此操作。即使可以,外部文件也會緩存在客戶端的瀏覽器中,並且每次都不會被拉取。您可能可以在頁面中放置一個函數並從外部腳本中調用它。
外部腳本
if(isAPostBack)
{
//run code
}
ASPX頁面(腳本中頭)
var isAPostBack = <%= Page.IsPostBack %>;
只要確保你的外部腳本獲取網頁上線後裝入。
對於要處理的ASP代碼,您需要有一個文件擴展名,它映射到IIS中的ASP DLL。
這裏最簡單的情況是使用.aspx
擴展名重命名.js
文件,然後更改<script>
元素的src屬性。
另外,全球範圍內創建isPostBack
變量在aspx
頁面,然後打電話給你的js
文件,其中包含它的用法,如:
<script type="text/javascript">
var isPostBack = <%= Page.IsPostBack ? "true" : "false" %>;
</script>
<script type="text/javascript" src="/js/myscript.js"></script> <!-- <- script that uses isPostBack -->
你不能在一個外部JavaScript文件中使用<%= %>
符號;不起作用。
這將不會在JavaScript文件中工作,導致服務器將爲此服務,並且不會識別asp標籤。但是,您可以從aspx文件中執行此操作,並且它可以工作。您也可以使用通用處理程序。
祝你好運!
您只能通過頁面上使用的aspx頁面或用戶控件或主頁面來渲染此variable
。
將擴展名更改爲aspx將無法正常工作,因爲當從腳本標記加載頁面(腳本)時,即使父頁面具有「isPostBack == true」,isPostBack將始終爲「false」。 -1,但爲你的替代解決方案+1。網絡投票= 0. – gilly3 2012-02-03 20:14:32
@ gilly3關於變量總是在腳本標記爲假的好處 - 我的不好。很高興我至少打破了即使:) – 2012-02-03 22:08:49