1

NuGet 経由で AjaxControlToolkit.dll を最新バージョンのツールキットにアップグレードすると、プロジェクトでエラーが発生し、ページに ID _header のコントロールが複数あることが示されます。_header の id を持つクライアント側で実際に何が生成されるかはわかりませんが、ロールバックしてコードの最後の既知の作業バージョンから物事をチェックアウトする前に、最初にスタックオーバーフロー コミュニティに問い合わせると思いました。

エラーの正確なスタック トレースは次のとおりです。

    EXCEPTION:Multiple controls with the same ID '_header' were found. FindControl requires that controls have unique IDs.
Data:System.Collections.ListDictionaryInternal
Stack Trace:   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.FillNamedControlsTable(Control namingContainer, ControlCollection controls)
   at System.Web.UI.Control.EnsureNamedControlsTable()
   at System.Web.UI.Control.FindControl(String id, Int32 pathOffset)
   at System.Web.UI.Control.FindControl(String id)
   at System.Web.UI.ControlUtil.FindTargetControl(String controlID, Control control, Boolean searchNamingContainers)
   at System.Web.UI.UpdatePanelControlTrigger.FindTargetControl(Boolean searchNamingContainers)
   at System.Web.UI.AsyncPostBackTrigger.Initialize()
   at System.Web.UI.UpdatePanelTriggerCollection.Initialize()
   at System.Web.UI.UpdatePanel.Initialize()
   at System.Web.UI.UpdatePanel.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
4

1 に答える 1

2

ASP .NET Ajax バージョンを最新バージョンに更新する場合、アコーディオン コントロール内の各アコーディオン ペインの ID が必要になりました。それらに ID を割り当てない場合、「_header」の ID が生成されます。私の場合、複数のアコーディオン ペインがあったため、実際には同じ ID を持つ複数のペインが見つかりました。これが他の誰かに役立つことを願っています。これが私を正しい方向に向けるのに役立った投稿です。ビッグアップCurtWRC :)

于 2012-11-20T15:11:44.270 に答える