2009-06-26 6 views
3

私はページをポストする際にこの問題が発生しています。ページには、ドロップダウンリストのonchangeによって呼び出されるjquery ajaxのロードがあります。オンチッチを無効にすると、そのポストが動作します。ASP.NETとC#を使用している "Base-64 Stringで無効な文字"

「状態情報は、このページの無効であり、壊れている可能性があります」

[FormatException: Invalid character in a Base-64 string.] 
    System.Convert.FromBase64String(String s) +0 
    System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +72 
    System.Web.UI.ObjectStateFormatter.System.Web.UI.IStateFormatter.Deserialize(String serializedState) +4 
    System.Web.UI.Util.DeserializeWithAssert(IStateFormatter formatter, String serializedState) +37 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +113 

[ViewStateException: invalid Viewstate. 
     Client IP: 127.0.0.1 
     Port: 
     User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) 
     ViewState: /wEPDwULLTE1NjAwNjAwNDMPZBYCZg9kFgRmD2QWAgIOD2QWCAIBDxYCHgRUZXh0BSpTcGVyaW5kZSBJbcOzdmVpcyAmcnNhcXVvOyBQw6FnaW5hIEluaWNpYWxkAgMPFgIfAAUOdmVuZGFyLCBhbHVnYXJkAgUPFgIfAGVkAgcPFgIfAAUaaHR0cDovL3d3dy5zcGVyaW5kZS5jb20uYnJkAgEPZBYQAgMPEGQQFQEPVGlwbyBkZSBJbcOzdmVsFQEAFCsDAWdkZAIEDxBkEBUBBkNpZGFkZRUBABQrAwFnZGQCBg8QZA8WAWYWARAFD1RpcG8gZGUgSW3Ds3ZlbGVnZGQCBw8QD2QWAh4Ib25jaGFuZ2UFGSQuY2hhbmdlQ2l0eSh0aGlzLnZhbHVlKTsPFgFmFgEQBQZDaWRhZGVlZ2RkAggPZBYQAgEPFgIfAAUMTE9GVCBWSVNDQVlBZAIDDxYCHwAFKUNhc2EgMyBkb3JtaXTDs3Jpb3Mgbm8gYmFpcnJvIEJlbGEgVmlzdGEuZAIHDxYCHwAFHjxzdHJvbmc+UiQgMjUwLjAwMCwwMDwvc3Ryb25nPmQCCQ8WAh8ABRUxNTYwLjQ0IG08c3VwPjI8L3N1cD5kAgsPFgIfAAUJMyBlIDQgIEQuZAINDw8WBh8ABRBFeGNsdWlyIGRhIGxpc3RhHgdUb29sVGlwBRBFeGNsdWlyIGRhIGxpc3RhHgtOYXZpZ2F0ZVVybAUUI3JlbW92ZUxpbmsgMjEwMDM3NzlkZAIPDw8WBh8DBUB+L3ZlbmRhL2xhbmNhbWVudG...] 

[HttpException (0x80004005): As informações sobre estado são inválidas para esta página e podem estar corrompidas.] 
    System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +106 
    System.Web.UI.ViewStateException.ThrowViewStateError(Exception inner, String persistedState) +14 
    System.Web.UI.HiddenFieldPageStatePersister.Load() +217 
    System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +105 
    System.Web.UI.Page.LoadAllState() +43 
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +6785 
    System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +242 
    System.Web.UI.Page.ProcessRequest() +80 
    System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +21 
    System.Web.UI.Page.ProcessRequest(HttpContext context) +49 
    ASP.content_search_default_aspx.ProcessRequest(HttpContext context) in c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\web-site-2009\e4bfc9d6\d5d6c855\App_Web_zcb1qfmu.0.cs:0 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +181 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +75 

は何その理由だろうか?誰もそれを見た?

はありがとう

EDIT:これはhappenningている理由

はので、私は見つけました。 Page_Loadの最後に、新しいフィールドをdivにロードするjquery関数を呼び出すjavascript行を書きます。だから、私が見ているように、これはviewstateに矛盾を引き起こす原因となっています。 ViewStateを無効にすることは、この場合のオプションではありません。これはFFで動作し、IEのバグです。誰でも?

ありがとうございました

答えて

5

ちょうどこれに遭遇しました。 jqueryを使用して読み込んでいるページからフォームタグを削除します。

+0

私が行ったことは、jquery.remove()を使用して2番目のフォームから余分な__VIEWSTATEを削除することでした。 –

+0

しかし、viewstateを削除すると、ポストバックが機能しますか? – Milox

0

同じ問題があったのですが、私がエラーを出した理由は、完全なフォームをJavaScriptのメソッドに文字列として送信してフォームを投稿したためです。

これはちょっと重かったし、フォームデータをシリアル化されたjsonとして送信してから、このポストのようにフォームを作成してjavascriptでポストすることでした。

http://weblogs.asp.net/hajan/archive/2011/03/16/posting-from-asp-net-webforms-page-to-another-url.aspx

0

無効なビューステートは、Global.ascxに以下を追加しようと、このエラーを回避するために、あなたのロガーのか ユーザーのためか、あなたのウェブサイトのための任意の値を持っていない:

void Application_Error(object sender, EventArgs e) 
    {   
       if (ex is HttpException && ex.InnerException is ViewStateException) 
       { 
        Response.Redirect(Request.Url.AbsoluteUri); 
        return; 
       } 
    } 

https://www.karpach.com/viewstateexception-invalid-viewstate.htm

:詳細は

は、次のリンクをご確認ください

関連する問題