Views: 9
今天遇到一個問題,在設計某個表單的時候,每新增一個表單就會拋出一次錯誤,錯誤的路徑是DesignFormLayout.aspx
錯誤畫面
錯誤如何重現?
- 調整版面 > 預覽
- 調整版面 > 設計 > 新增任一表單元件
錯誤Log
使用系統管理員帳號登入後,可以從系統管理>事件檢視 >ErrorLog找到詳細的錯誤原因
事件檢視 錯誤資訊一
URL: /WKF/FormManagement/MultiColumnDesign/DesignFormLayout.aspx/PageMethodProxy
System.IndexOutOfRangeException: 索引在陣列的界限之外。
於 Ede.Uof.WKF.Design.VersionFieldCollection.ChangeFieldSeq(String[] aryStrFieldId) 於 Z:\Builds\20\UofAgile\3.Setup\src\Lib\WKF\Ede.Uof.WKF.Design\VersionFields\VersionFieldCollection.cs: 行 134
於 Ede.Uof.WKF.Design.DesignFormFieldUCO.ChangeFieldSeq(String strFormVersionId, String strFieldParentId, String[] aryStrFieldId) 於 Z:\Builds\20\UofAgile\3.Setup\src\Lib\WKF\Ede.Uof.WKF.Design\DesignFormFieldUCO.cs: 行 4609
於 Ede.Uof.Web.WKF.FormManagement.MultiColumnDesign.UC_VersionFieldCollection.ExchangeFieldSeq(String fieldIdList, String fromVersionId, String fieldParentId) 於 Z:\Builds\20\UofAgile\3.Setup\src\Web\Ede.Uof.Web\WKF\FormManagement\MultiColumnDesign\UC_VersionFieldCollection.ascx.cs: 行 1408
事件檢視 錯誤資訊二
URL: /WKF/FormManagement/MultiColumnDesign/DesignFormLayout.aspx
System.Web.HttpException (0x80004005): URL 編碼型式資料無效。 ---> System.InvalidOperationException: 已經從要求中讀取最大數目的表單、查詢字串或張貼檔案項目。若要變更允許的要求集合數上限的目前值 2000,請變更 "aspnet:MaxHttpCollectionKeys" 設定。如需詳細資訊,請參閱 http://go.microsoft.com/fwlink/?LinkId=238386。
於 System.Web.HttpValueCollection.ThrowIfMaxHttpCollectionKeysExceeded()
於 System.Web.HttpValueCollection.FillFromEncodedBytes(Byte[] bytes, Encoding encoding)
於 System.Web.HttpRequest.FillInFormCollection()
於 System.Web.HttpRequest.FillInFormCollection()
於 System.Web.HttpRequest.EnsureForm()
於 System.Web.HttpRequest.get_Form()
於 System.Web.HttpRequest.get_HasForm()
於 System.Web.UI.Page.GetCollectionBasedOnMethod(Boolean dontReturnNull)
於 System.Web.UI.Page.DeterminePostBackMode()
於 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
關鍵資訊其實在這一則 : URL 編碼型式資料無效。 ,用這個錯誤訊息去Google就會有答案
解法
改Web.config
原因是IIS有限制每次POST能接受的大小,只需要把這個改大就可以解決
預設為
MaxHttpCollectionKeys = 2000
改為
MaxHttpCollectionKeys = 4000
0 Comments