JS不能与asp.net更新面板一起运行
JS doesn't run with an asp.net update panel
下面的代码可以在没有更新面板的情况下工作,但是当有更新面板时不能运行。它的目的是清除浏览器向后或向前按下的页面条目上的bfcache。有人知道如何让js运行时,用户点击后退/前进和页面有一个更新面板?
窗口。Onpageshow = function (event) {if (event.persist) {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>
尝试# 2
<body>
<script type="text/javascript">
window.onpageshow = function (event) { if (event.persisted) { window.location.reload() } };
</script>
<form id="form1" runat="server">
<ajaxToolkit:ToolkitScriptManager runat="server" ID="ToolkitScriptManager" />
<asp:UpdatePanel ID="updatePanel1" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<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>
尝试# 3
<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的一部分,并把它放在。
相关文章:
- Javascript-如何让脚本与Ajax请求的数据一起运行
- 如何使函数与.onsubmit事件一起运行
- jQuery 源文件一起运行;我该怎么办
- $.post 和 $.ajax 回调未与 Bootstrap 一起运行
- gclid 如何与 Joomla 一起运行
- 脚本不会一起运行
- Chrome extrension - chrome.tabs.executeScript 不与文件一起运行
- 添加与谷歌地图信息窗口一起运行的事件侦听器
- 设置Karma与jasmine一起运行测试,要求并做出反应
- 两个图像刷新java脚本没有一起运行
- Jquery使两个函数一起运行
- 与babel es2015一起运行mocha无法正常工作
- 改变setInterval的间隔和所有动画一起运行
- JS不能与asp.net更新面板一起运行
- error: destroy.js. erbb没有与destroy操作一起运行
- 最小化可能与其他脚本一起运行的JavaScript代码是否安全?
- jQuery不能与html文件一起运行
- 如何让If Else和其他函数一起运行
- 窗口大小调整和初始化一起运行
- 如何让多个Javascript setInterval函数在同一页面上很好地一起运行