视图状态无效/Base-64 字符串中的字符无效
本文关键字:无效 字符 Base-64 视图状态 字符串 | 更新日期: 2024-11-06 01:18:46
我已经阅读了多个类似的帖子。例如:
- base-64 字符串中的字符无效 - 视图状态?
- Base-64 字符串中的字符无效
但没有一个为我提供解决方案。我知道出了什么问题,我将尝试遍历我的代码。
这每天只发生在少数用户身上,并且他们都使用 IE。火狐浏览器可以正常工作。
我有一个aspx页面,其中包含我的网上商店的注册表。当用户单击"继续"时,我会执行验证数据的回发。如果一切有效,我运行以下代码:
public void Proceed(Object sender, EventArgs e)
{
if (IsValid)
{
SaveCustomerInfo();
ScriptManager.RegisterStartupScript(
this, this.GetType(),
"RedirectPaymentGateway",
"RedirectPaymentGateway('" + paymentData + "');", true);
}
}
此脚本将用户重定向到支付网关,如下所示:
function RedirectPaymentGateway(paymentData) {
$(document).ready(function() {
try {
var div = document.createElement('div');
div.innerHTML = paymentData;
var formDataObj = jQuery.parseJSON(div.firstChild.nodeValue);
var form = "<form>FORM CONSTRUCTION</form>";
$('#pnlPaymentGateway').html(form);
$('#pnlPaymentGateway').submit();
}
catch (e) {
alert(e);
}
});
}
(paymentData
是 .net 对象的 JSON 序列化。
我猜这段代码破坏了与视图状态相关的内容,但我无法弄清楚如何或为什么。有什么建议吗?
我刚刚遇到了用户的问题。它只发生在IE上,而不是发生在所有用户身上。Firefox和Chrome工作正常。
要解决此问题,请打开 IE 并执行以下操作:
- 单击"工具"。(您可能需要先通过右键单击顶部栏来启用菜单栏。
- 点击互联网选项。
- 单击高级选项卡。
- 单击重置。
- 选中该框以删除个人设置。
- 确认直到返回IE。
- 重新启动浏览器。
问题将得到解决。