window.location.replace() 不起作用

只是想问为什么 window.location.replace 在我的页面中不起作用。我已经为此工作了好几个星期。它在我的其他页面上运行良好,虽然这些页面有 DevExpress 组件,但是在这个我只使用普通 html 和 asp 标签和组件的特定页面中它不起作用。它似乎只是令人耳目一新而不是重定向。这是我的按钮代码:

<asp:Button ID="btnCancelValidatePassword" runat="server" 
                        CausesValidation="False" ClientIDMode="AutoID" CssClass="ButtonControl" 
                        Height="30px" OnClientClick="window.location.replace('../Account/Settings.aspx')" Text="CANCEL" Width="100px" />

谢谢。

stack overflow window.location.replace() is not working
原文答案

答案:

作者头像

.replace()String 对象的一个​​方法

window.location 不是字符串。请改用 window.location.href 并在 .replace() 上调用 window.location.href

window.location.href.replace(/string_to_be_replaced/, 'string_to_replace');
作者头像

Chrome 中重新加载同一页面时,我遇到了它无法正常工作的问题。执行以下操作:

   window.location.replace("/mypage1.aspx?type=abc"); //redirect to fake page
   window.location.replace("/mypage.aspx?type=abc");  //redirect to same page

这有点 hack,但这似乎是唯一强制在 Chrome 中的同一页面上重新加载的东西。 IE 和 FF 无需重定向到虚假页面即可工作。