我在这里没什么可说的。我无法在本地重现此问题,但是当用户收到错误时,我会收到自动电子邮件异常通知:
Invalid length for a Base-64 char array.
at System.Convert.FromBase64String(String s)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
at System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState)
at System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState)
at System.Web.UI.HiddenFieldPageStatePersister.Load()
我倾向于认为分配给视图状态的数据存在问题。例如:
List<int> SelectedActionIDList = GetSelectedActionIDList();
ViewState["_SelectedActionIDList"] = SelectedActionIDList;
如果无法在本地重现错误,则很难猜测错误的来源。
如果有人有过此错误的经验,我真的很想知道你发现了什么。
urlDecode 处理文本后,它将所有 '+' 字符替换为 ' ' ...因此出现错误。您应该简单地调用此语句以使其再次兼容 Base 64:
sEncryptedString = sEncryptedString.Replace(' ', '+');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)