当用户单击 MVC5 中的浏览器后退按钮时在检索数据时面临问题
Facing issue in retrieving data when user clicks on browser back button in MVC5
当用户提交数据并检索包含 hyperlink 的 html 数据时,我正在处理页面。
现在,当用户单击 link 时,他将被导航到另一个页面,当用户单击浏览器后退按钮时,我想显示之前显示的 html 数据。
为了实现这一点,我尝试将值存储在会话中并在用户单击后退浏览器按钮时检索它。
但我遇到了问题
我尝试捕获浏览器后退按钮并显示会话存储变量,但我不确定为什么没有触发。
$(window).on('hashchange', 函数 () {
$("#spanId").html("测试");
});
Html 存储在会话变量中的数据显示不正确,如“<”显示为“<”,所有数据显示为字符串而不是 html 内容.
$(document).ready(function () {
$("#spanId").html("@Session["Data"]");
$("#btnSubmit").click(function () {
var data = {
"Date": $.datepicker.formatDate("mm-dd-yy", DateVal),
"Type": $('#type').val(),
}
$.ajax({
type: 'POST',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
url: '@Url.Action("GetReportdata", "Reports")',
success: function (result) {
$("#spanId").html(content);
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
});
});
Please let me know if there is any other way to handle this and help me resolves this issue.
可能有另一种方法可以在服务器端解决这个问题,但这应该可行。
$(document).ready(function () {
$("#spanId").html(decodeHtml("@Session["Data"]"));
$("#btnSubmit").click(function () {
var data = {
"Date": $.datepicker.formatDate("mm-dd-yy", DateVal),
"Type": $('#type').val(),
}
$.ajax({
type: 'POST',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
url: '@Url.Action("GetReportdata", "Reports")',
success: function (result) {
$("#spanId").html(decodeHtml(content));
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
});
});
function decodeHtml(encodedHtml) {
return encodedHtml.replace(/&/g,'&')
.replace(/</g,'<').replace(/>/g,'>');
}
我找到了一个事件来处理浏览器后退按钮
if (window.performance && window.performance.navigation.type ==
window.performance.navigation.TYPE_BACK_FORWARD) {
$("#spanId").html("@Session["Data"]");
}
这对我有用
当用户提交数据并检索包含 hyperlink 的 html 数据时,我正在处理页面。 现在,当用户单击 link 时,他将被导航到另一个页面,当用户单击浏览器后退按钮时,我想显示之前显示的 html 数据。 为了实现这一点,我尝试将值存储在会话中并在用户单击后退浏览器按钮时检索它。
但我遇到了问题
我尝试捕获浏览器后退按钮并显示会话存储变量,但我不确定为什么没有触发。
$(window).on('hashchange', 函数 () { $("#spanId").html("测试"); });
Html 存储在会话变量中的数据显示不正确,如“<”显示为“<”,所有数据显示为字符串而不是 html 内容.
$(document).ready(function () { $("#spanId").html("@Session["Data"]"); $("#btnSubmit").click(function () { var data = { "Date": $.datepicker.formatDate("mm-dd-yy", DateVal), "Type": $('#type').val(), } $.ajax({ type: 'POST', dataType: "json", contentType: "application/json; charset=utf-8", data: JSON.stringify(data), url: '@Url.Action("GetReportdata", "Reports")', success: function (result) { $("#spanId").html(content); }, error: function (xhr, ajaxOptions, thrownError) { } }); }); }); Please let me know if there is any other way to handle this and help me resolves this issue.
可能有另一种方法可以在服务器端解决这个问题,但这应该可行。
$(document).ready(function () {
$("#spanId").html(decodeHtml("@Session["Data"]"));
$("#btnSubmit").click(function () {
var data = {
"Date": $.datepicker.formatDate("mm-dd-yy", DateVal),
"Type": $('#type').val(),
}
$.ajax({
type: 'POST',
dataType: "json",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(data),
url: '@Url.Action("GetReportdata", "Reports")',
success: function (result) {
$("#spanId").html(decodeHtml(content));
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
});
});
function decodeHtml(encodedHtml) {
return encodedHtml.replace(/&/g,'&')
.replace(/</g,'<').replace(/>/g,'>');
}
我找到了一个事件来处理浏览器后退按钮
if (window.performance && window.performance.navigation.type ==
window.performance.navigation.TYPE_BACK_FORWARD) {
$("#spanId").html("@Session["Data"]");
}
这对我有用