2012-10-17 82 views
1

我陷入這個viewstate與我的SharePoint 2010應用程序的問題。驗證視圖狀態MAC失敗與SharePoint 2010

目前我創建了一個自定義母版頁,使用我的自定義控件命名爲導航。導航控件HTML僅包含3個隱藏字段以存儲數據。

當我爲我的網站應用母版頁時,我創建了一個列表,然後將三態工作流添加到列表中。在添加工作流程屏幕(/_layouts/Addwrkfl.aspx)中選擇三態工作流程後,我單擊確定提交。

然後我得到這個錯誤消息

驗證視圖狀態MAC失敗。如果此應用程序由Web Farm或羣集託管,請確保配置指定相同的驗證密鑰和驗證算法。 AutoGenerate不能在羣集中使用。

堆棧跟蹤:

[ViewStateException: Invalid viewstate. 
    Client IP: 192.168.149.149 
    Port: 56086 
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; InfoPath.3) 
    ViewState: /wEWBAKi+o3/DAKVnOnXCwKa66m6DgKoxMKWBhUcn2XAshDSDMZdpDN35fWC8RHp 
    Referer: `http://localhost/_layouts/Addwrkfl.aspx?List=%7B2897B53B%2D16AF%2D47A9%2DB963%2DC9501432C5CA%7D` 
    Path: /_layouts/ItemRWfAssoc.aspx] 
[HttpException (0x80004005): Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster.] 
    System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +148 
    System.Web.UI.ObjectStateFormatter.Deserialize(String inputString) +10977361 
    System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded() +205 

*

我也刪除了所有的導航控制,但問題仍然出現背後的代碼。看起來,錯誤出現在任何C#代碼執行之前。

如果我試圖從導航控件中刪除3隱藏字段,問題就消失了。

任何人都可以幫助我解決這個問題? 任何想法將不勝感激。

在此先感謝。

僅供參考,我不使用Web場

回答

0

我收到此錯誤在我的SP 2010場後,我增加了一些自定義委託控制在母版頁運行主辦我的應用程序。該控件有服務器端文本框和其他一些html元素,當我將asp:textbox切換到html輸入時,問題消失了