Javascript JS不';t使用asp.net更新面板运行

Javascript JS不';t使用asp.net更新面板运行,javascript,asp.net,updatepanel,Javascript,Asp.net,Updatepanel,以下代码在没有更新面板的情况下工作,但在有更新面板的情况下不会运行。其目的是从后退或前进浏览器按键中清除页面条目上的缓存。有人知道当用户点击back/foward并且页面有一个更新面板时如何让js运行吗 window.onpageshow=函数(事件){if(event.persisted){window.location.reload()} 带有更新面板的完整页面: <body> <form id="form1" runat="server"> <ajax

以下代码在没有更新面板的情况下工作,但在有更新面板的情况下不会运行。其目的是从后退或前进浏览器按键中清除页面条目上的缓存。有人知道当用户点击back/foward并且页面有一个更新面板时如何让js运行吗

window.onpageshow=函数(事件){if(event.persisted){window.location.reload()}

带有更新面板的完整页面:

<body>
<form id="form1" runat="server">
    <ajaxToolkit:ToolkitScriptManager runat="server" ID="ToolkitScriptManager" />
     <asp:UpdatePanel ID="updatePanel1" UpdateMode="Conditional" runat="server">
        <ContentTemplate>
            <script type="text/javascript">
                var js = "window.onpageshow = function (event) { if (event.persisted) { window.location.reload() } };";

                Sys.Application.add_load(js);

                var prm = Sys.WebForms.PageRequestManager.getInstance();

                prm.add_endRequest(js);
                prm.add_beginRequest(js);
            </script>

            <a href='Default.aspx'>Default</a>
            <a href='Default2.aspx'>Default2</a>
            <a href='Default3.aspx'>Default3</a>
            <a href='Default4.aspx'>Default4</a>
            <br />
            <div>
                <asp:TextBox ID="tbText" runat="server"></asp:TextBox>
            </div>
        </ContentTemplate>
    </asp:UpdatePanel>
</form>





您的错误是将字符串作为必须运行的代码部分。从此行中删除

var js = 
 window.onpageshow = 
    function (event) { if (event.persisted) { window.location.reload() } };

还有一点,您可以从更新面板内部删除该部分stript,并将其放在前面。

您的错误是将string设置为必须运行的代码部分。从此行中删除

var js = 
 window.onpageshow = 
    function (event) { if (event.persisted) { window.location.reload() } };

还有一点,您可以从更新面板内部移除stript的这一部分,并将其放置在更新面板的前面。

我尝试过,并将其放置在更新面板的外部。请参阅我更新的帖子中的尝试2。它仍然不起作用。这在Safari中是有用的。@user1777317您还需要包括和其他代码
Sys.Application.add_load(js)
和另一个。@user1777317关于程序逻辑的部分,我帮不了你,我只能帮助你解决我认为的bug。我试过了,并把它放在了更新面板之外。请参阅我更新的帖子中的尝试2。它仍然不起作用。这在Safari中是有用的。@user1777317您还需要包括和其他代码
Sys.Application.add_load(js)
和另一个。@user1777317关于程序逻辑的部分,我帮不了你,我只能帮你解决我认为的bug。
var js = 
 window.onpageshow = 
    function (event) { if (event.persisted) { window.location.reload() } };