我使用包含搜索和结果页面的ASP.NET MVC(不是核心)创建了一个Web应用程序。
每当我使用其他浏览器(例如Chrome和Firefox)上的“后退”按钮返回结果页面时,它就会记住文本和下拉值信息。
但是在Microsoft Edge上,它清除了我所有的文本框并下拉至默认值。这是浏览器问题还是错误?我们可以通过代码来做些什么吗?
我发现了类似的东西,但没有解决这个确切的问题。相关问题
我已经在Microsoft Edge的旧版本(Microsoft Edge 44.18362.449.0)中重现了该问题,但是在新的Microsoft Edge(基于铬)中,它可以很好地工作。这可能是Edge的旧版中的默认行为。您可以在Microsoft Edge旧版论坛中反馈此问题,也可以安装新的Microsoft Edge并使用它。
解决方法是,您可以尝试使用WebStorage存储表单数据,重新加载页面时,请检查存储中是否包含该值,然后设置该值。请检查以下示例:
JavaScript代码:
<script>
window.onload = function () {
if (sessionStorage.name && sessionStorage.password) {
document.getElementById("name").value = sessionStorage.name;
document.getElementById("password").value = sessionStorage.password;
}
};
function storedata() {
if (typeof (Storage) !== "undefined") {
var name = document.getElementById("name").value;
var password = document.getElementById("password").value;
sessionStorage.name = name;
sessionStorage.password = password;
document.getElementById("res").innerHTML = "Your datas restored";
} else {
document.getElementById("res").innerHTML = "Sorry, your browser does not support web storage...";
}
}
</script>
网页:
<form id="form1" runat="server" autocomplete="on">
<div>
UserID: <asp:TextBox ID="name" runat="server"></asp:TextBox><br />
Password: <asp:TextBox ID="password" runat="server"></asp:TextBox><br />
Remember Me: <asp:CheckBox ID="selectall" runat="server" /> <br />
<asp:Button ID="btn_signIn" runat="server" Text="Button" OnClick="btn_signIn_Click" OnClientClick="storedata();" /><br />
<asp:Label ID="lblresult" runat="server" Text=""></asp:Label>
<span id="res"></span>
</div>
</form>
有关使用WebStorage的更多详细信息,请检查以下链接:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句