System.Web.HttpException: Invalid viewstate.
at System.Web.UI.Page.DecryptStringWithIV(String s, IVType ivType)
at System.Web.Handlers.AssemblyResourceLoader.System.Web.IHttpHandler
.ProcessRequest(HttpContext context)
,...
或(在IE6中)
System.FormatException: Invalid length for a Base-64 char array.
at System.Convert.FromBase64String(String s)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
或(在IE7中)
System.FormatException: Invalid character in a Base-64 string.
at System.Convert.FromBase64String(String s)
at System.Web.UI.ObjectStateFormatter.Deserialize(String inputString)
我将web.config中的enableViewStateMac设置为false并在我的web.config中定义了machinekey,并为每个页面定义了UTF-8编码 但我收到了这个错误。
你有什么解决方案吗?
最好的问候
答案 0 :(得分:0)
当页面加载时,您是否多次在页面上执行数据绑定?如果您这样做,将会发生此错误。
答案 1 :(得分:0)
如果您在Page_Load
事件期间绑定,请使用IsPostBack
对象的Page
标志,以便在加载期间仅绑定一次。
e.g。
if (!Page.IsPostBack)
{
//Perform Binding Here
}
但如果您以编程方式动态添加ascx控件,则需要在每个后续帖子上绑定这些控件。