当前位置: 首页 > 编程语言 > C#

使用ASP.NET和C#“Base-64字符串中的无效字符”分享

时间:2023-04-10 23:26:38 C#

使用ASP.NET和C#“Base-64字符串中的无效字符”发布页面时遇到问题。该页面有一个由下拉列表的onchange调用的jqueryajax加载,如果我禁用onchange,则该帖子有效。“状态信息对于此页面无效,可能已经损坏”[FormatException:InvalidcharacterinaBase-64string.]System.Convert.FromBase64String(Strings)+0System.Web.UI.ObjectStateFormatter.Deserialize(StringinputString)+72System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(字符串序列化状态)+4System.Web.UI.Util.DeserializeWithAssert(IStateFormatter格式化程序,字符串序列化状态)+37System.Web.UI.HiddenFieldPageStatePersister。Load()+113[ViewStateException:无效的视图状态。客户端IP:127.0.0.1端口:User-Agent:Mozilla/4.0(兼容;MSIE8.0;WindowsNT5.1;Trident/4.0;.NETCLR1.1.4322;.NETCLR2.0.50727;.NETCLR3.0.4506.2152;.NETCLR3.5.30729)ViewState:/wEPDwULLTE+UiQgMjUwLjAwMCwwMDwvc3Ryb25nPmQCCQ8WAh8ABRUxNTYwLjQ0IG08c3VwPjI8L3N1cD5kAgsPFgIfAAUJMyBlIDQgIEQuZAINDw8WBh8ABRBFeGNsdWlyIGRhIGxpc3RhHgdUb29sVGlwBRBFeGNsdWlyIGRhIGxpc3RhHgtOYXZpZ2F0ZVVybAUUI3JlbW92ZUxpbmsgMjEwMDM3NzlkZAIPDw8WBh8DBUB+L3ZlbmRhL2xhbmNhbWVudG...][HttpException(0x80004005):作为目前已知的无效信息,目前的页面和流行的文章都无效。]System.Web.UI.ViewStateException.ThrowError(Exceptioninner,StringpersistedState,StringerrorPageMes??sage,BooleanmacValidationError)+106System.Web.UI.ViewStateException.ThrowViewStateError(Exceptioninner,StringpersistedState)+14System.Web.UI.HiddenFieldPageStatePersister.Load()+217System.Web.UI.Page.LoadPageStateFromPersistenceMedium()+105System.Web.UI.Page.LoadAllState()+43System.Web.UI.Page.ProcessRequestMain(布尔值includeStagesBeforeAsyncPoint,布尔值includeStagesAfterAsyncPoint)+6785System.Web.UI.Page.ProcessRequest(布尔值includeStagesBeforeAsyncPoint,布尔值includeStagesAfterAsyncPoint)+242System.Web.UI.Page.ProcessRequest()+80System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext上下文)+21System.Web.UI.Page.ProcessRequest(HttpContext上下文)+49ASP.content_search_default_aspx.ProcessRequest(HttpContext上下文)在c:WINDOWSMicrosoft.NETFrameworkv2.0.50727TemporaryASP.NETFilesweb-site-2009e4bfc9d6d5d6c855App_Web_zcb1qfmu.0.cs:0System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecution(Step1).ExcuttStepPApplication(Step1).ExcuttSteppIstep,Boolean&completedSynchronously)+75可能是什么原因?有没有人见过这个?谢谢编辑:所以,我发现了为什么会这样在Page_Load的末尾,我写了一个javascript行,它调用一个jquery函数,将新字段加载到div中。因此,正如我所见,这会导致视图状态不一致。对于这种情况,禁用ViewState不是一个选项。它适用于FF,它在IE上有问题。任何人?谢谢刚遇到这个。从您通过jquery加载的页面中删除表单标签。有同样的问题,我收到错误的原因是因为我将完整的表单作为字符串发送到javascript方法,然后该方法发布了表单。这有点繁重,我的解决方法是将表单数据作为序列化的json发送,然后像本文中那样通过javascript创建和发布表单。http://weblogs.asp.net/hajan/archive/2011/03/16/posting-from-asp-net-webforms-page-to-another-url.aspx您的记录器或用户或您的站点的无效视图状态没有任何价值来避免此错误尝试在Global.ascx中添加以下内容:绝对乌里);返回;}}有关详细信息,请查看以下链接:https://www.karpach.com/viewstateexception-invalid-viewstate.htm以上是C#学习教程:使用ASP.NET和C#“Base-64字符串中的无效字符》分享了全部内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: