2012-08-08 75 views
0

第一次做一些javascript。 我正在玩sessiontimeout,並且它在.aspx頁面中的代碼時運行良好。 下一步是將代碼放入.js頁面。所以這是我目前的陣容。ASPX不能訪問Javascript.js

Script.aspx.js

var iddleTimeoutWarning = null; 
    var iddleTimeout = null; 
function pageLoad() 
{  
    if (iddleTimeoutWarning != null) 
     clearTimeout(iddleTimeoutWarning); 
    if (iddleTimeout != null) 
     clearTimeout(iddleTimeout);  
    var millisecTimeOutWarning = <%= int.Parse(System.Configuration.ConfigurationManager.AppSettings["SessionTimeoutWarning"]) * 60 * 1000 %>; 
    var millisecTimeOut = <%= int.Parse(System.Configuration.ConfigurationManager.AppSettings["SessionTimeout"]) * 60 * 1000 %>; 
    iddleTimeoutWarning = setTimeout("DisplayIddleWarning()", millisecTimeOutWarning); 
    iddleTimeout = setTimeout("TimeoutPage()", millisecTimeOut); 
} 

function DisplayIddleWarning() 
{     
    document.getElementById("LblWarning").innerHTML = "Warning Message"; 
} 

function TimeoutPage() 
{     
    __doPostBack('FiresAutoIdle',''); 
} 

ASPX頁面(很肯定的錯誤是在這裏,因爲可以在.js頁作品的代碼)

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
     <Scripts>    
      <asp:ScriptReference Path="Scripts/Script.aspx.js"/> 
     </Scripts> 
</asp:ScriptManager> 

我也有在網上的一些代碼行.config來設置關鍵字SessionTimeout和SessionTimeoutWarning。

那麼,任何想法在哪裏的小故障?曾經運行的東西,現在他們不會。

編輯

  1. 我使用腳本管理的快速處理必要的ASP.NET AJAX組件,使局部回傳。我需要__doPostBack。
  2. 我發現如果一個js函數被命名爲pageLoad(),該函數將在頁面加載或部分回發時激活。正是我需要的。

因此,asp.nex頁面不會從.js加載pageLoad()函數。

+0

如果您在瀏覽器中分別單擊Scripts/Script.aspx.js,它是否按照您的預期渲染?想知道是否需要使用ScriptManager,或者使用客戶端