ビューに、フォーム全体を動的にレンダリングするヘルパー メソッドがあります。ここで、Asp.Net MVC RC 2 で利用可能なクライアント検証のサポートを追加したいと考えています。
以下は、検証の概要フィールドをフォームにレンダリングするために使用するコードです。
_viewPage.Html.EnableClientValidation();
MvcHtmlString validationSummary = _viewPage.Html.ValidationSummary("There are errors on this form. Please contact your administrator.");
if (validationSummary != null && validationSummary.ToString() != "")
Response.Write(validationSummary.ToString());
コードがこのポイントに到達すると、次のエラーが発生します。
System.Collections.Generic.KeyNotFoundException was unhandled by user code
Message="指定されたキーは辞書にありませんでした。" Source="System" StackTrace: System.Collections.Generic.SortedDictionary の System.ThrowHelper.ThrowKeyNotFoundException() で2.get_Item(TKey key)
at System.Web.Mvc.Html.ValidationExtensions.ValidationSummary(HtmlHelper htmlHelper, Boolean excludePropertyErrors, String message, IDictionary
2 htmlAttributes) の System.Web.Mvc.Html.ValidationExtensions.ValidationSummary(HtmlHelper htmlHelper, String message, IDictionary`2 htmlAttributes) at Fusion.UI.MvcWebUX.Helper.FormGenerator.GenerateFormValidation() in D:\EBS\Project.Fusion \Fusion.UI.MvcWebUX\Helper\FormGenerator.cs: D:\EBS\Project.Fusion\Fusion.UI.MvcWebUX\Helper\FormGenerator.cs の Fusion.UI.MvcWebUX.Helper.FormGenerator.GenerateForm() の 88 行目:D:\EBS\Project.Fusion\Fusion.UI.MvcWebUX\Helper\FormGenerator.cs の Fusion.UI.MvcWebUX.Helper.FormGenerator.RenderForm(ViewPage viewPage) の 70 行目:ASP.views_shared_autoview_aspx.__RenderContent2 の 60 行目( System.Web.UI.Control の d:\EBS\Project.Fusion\Fusion.UI.MvcWebUX\Views\Shared\AutoView.aspx:line 7 の HtmlTextWriter __w、Control parameterContainer)。System.Web.UI.Control.RenderChildren(HtmlTextWriter ライター) の RenderChildrenInternal(HtmlTextWriter ライター、ICollection の子) System.Web.UI.Control.Render(HtmlTextWriter ライター) System.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、 ControlAdapter アダプター) で System.Web.UI.Control.RenderControl(HtmlTextWriter ライター、ControlAdapter アダプター) で System.Web.UI.Control.RenderControl(HtmlTextWriter ライター) で ASP.views_shared_fusion_master.__Render__control1(HtmlTextWriter __w、コントロール parameterContainer) で d: \EBS\Project.Fusion\Fusion.UI.MvcWebUX\Views\Shared\Fusion.Master: System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) の System.Web.UI.Control.RenderChildren の 74 行目(HtmlTextWriter ライター) System.Web.UI.Control で。Render(HtmlTextWriter ライター) で System.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapter アダプター) で System.Web.UI.Control.RenderControl(HtmlTextWriter ライター、ControlAdapter アダプター) で System.Web.UI.Control.RenderControl( HtmlTextWriter ライター) で System.Web.UI.Control.RenderChildrenInternal (HtmlTextWriter ライター、ICollection の子) で System.Web.UI.Control.RenderChildren(HtmlTextWriter ライター) で System.Web.UI.Page.Render(HtmlTextWriter ライター) で System.Web.UI.Page.Render(HtmlTextWriter ライター) でSystem.Web.UI.Control.RenderControlInternal(HtmlTextWriter ライター、ControlAdapter アダプター) の .Web.Mvc.ViewPage.Render(HtmlTextWriter ライター) System.Web.UI.Control.RenderControl(HtmlTextWriter ライター、ControlAdapter アダプター) System.Web の.UI.コントロール。System.Web.UI.Page.ProcessRequestMain の RenderControl (HtmlTextWriter ライター) (ブール値 includeStagesBeforeAsyncPoint、ブール値 includeStagesAfterAsyncPoint) InnerException:
私はこれに数時間苦労しています。誰かがそれを解決するのを手伝ってくれて、なぜこれが起こっているのか教えてもらえますか.