Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASPX未访问Javascript.js_Javascript_Asp.net - Fatal编程技术网

ASPX未访问Javascript.js

ASPX未访问Javascript.js,javascript,asp.net,Javascript,Asp.net,第一次做一些javascript。 我正在玩sessiontimeout,当我在.aspx页面中有代码时,它工作得很好。 下一步是将代码放入.js页面。这是我目前的阵容 Script.aspx.js var iddleTimeoutWarning = null; var iddleTimeout = null; function pageLoad() { if (iddleTimeoutWarning != null) clearTimeout

第一次做一些javascript。 我正在玩sessiontimeout,当我在.aspx页面中有代码时,它工作得很好。 下一步是将代码放入.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','');
}  
var iddleTimeoutWarning=null;
var iddleTimeout=null;
函数pageLoad()
{     
if(iddleTimeoutWarning!=null)
clearTimeout(iddleTimeOverWarning);
if(iddleTimeout!=null)
clearTimeout(iddleTimeout);
var millisectimeoverning=;
var millisecTimeOut=;
IDDLETIMEOWWARNING=setTimeout(“displaydledwarning()”,MilliSecTimeOWWARNING);
iddleTimeout=setTimeout(“TimeoutPage()”,millisecTimeOut);
} 
函数displaydlewarning()
{                
document.getElementById(“LblWarning”).innerHTML=“警告消息”;
} 
函数TimeoutPage()
{                   
__doPostBack('FiresAutoIdle','');
}  
ASPX页面(这里肯定有错误,因为.js页面中的代码可以正常工作)


我在web.config中还有一些代码行用于设置SessionTimeout和SessionTimeoutWarning键

你知道哪里出了问题吗?过去的事情都会发生,现在不会了

编辑

  • 我使用脚本管理器快速处理必要的ASP.NET AJAX组件,以支持部分回发。我需要回邮
  • 我发现,如果一个js函数名为pageLoad(),则该函数将在页面加载或部分回发时激活。正是我需要的
  • 因此,asp.nex页面没有从.js加载pageLoad()函数。

    已解决

    不能在javascript中设置asp变量。所以我们必须在ASPX页面中设置变量,然后让javascript使用它们

    ASPX

    
    var millisectimeoverning=;
    var millisecTimeOut=;
    

    然后在.js文件中使用它们。

    如果在浏览器中单独点击Scripts/Script.aspx.js,它是否会按预期呈现?只是想知道是否需要使用ScriptManager,或者是否最好使用客户端标记包含呈现的js结果。@BenParsons如果我用chrome打开.js文件,我会得到纯文本,即代码本身。你是说将其作为文件打开吗?或者在本地运行服务器时点击它?这些是不同的事情。在我看来,您可能不需要使用ScriptManager。如果您可以按需要将文件输出,那么这将解决您的许多问题。
    <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Scripts>            
                <asp:ScriptReference Path="Scripts/Script.aspx.js"/>
            </Scripts>
    </asp:ScriptManager>
    
    <script type="text/javascript">
        var millisecTimeOutWarning = <%= int.Parse(System.Configuration.ConfigurationManager.AppSettings["SessionTimeoutWarning"]) * 60 * 1000 %>;
        var millisecTimeOut = <%= int.Parse(System.Configuration.ConfigurationManager.AppSettings["SessionTimeout"]) * 60 * 1000 %>; 
    </script>