UOF 除錯-表單只要新增欄位就會DesignFormLayout.aspx 錯誤 | UOF2 一等一科技 BPM 電子表單

by | 2 月 6, 2025 | 一等一UOF系統, 程式 | 0 comments

Views: 9

今天遇到一個問題,在設計某個表單的時候,每新增一個表單就會拋出一次錯誤,錯誤的路徑是DesignFormLayout.aspx

錯誤畫面

錯誤畫面

錯誤如何重現?

  1. 調整版面 > 預覽
  2. 調整版面 > 設計 > 新增任一表單元件

錯誤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

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *