У меня есть вспомогательный метод в моем представлении, который динамически отображает всю форму. Теперь я хочу добавить поддержку проверки клиентов, доступную в 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 = "Указанный ключ отсутствует в словаре."
Источник = «Система»
Трассировки стека:
в System.ThrowHelper.ThrowKeyNotFoundException ()
в System.Collections.Generic.SortedDictionary 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, Строковое сообщение, IDictionary`2 htmlAttributes)
в Fusion.UI.MvcWebUX.Helper.FormGenerator.GenerateFormValidation () в D: \ EBS \ Project.Fusion \ Fusion.UI.MvcWebUX \ Helper \ FormGenerator.cs: строка 88
в Fusion.UI.MvcWebUX.Helper.FormGenerator.GenerateForm () в D: \ EBS \ Project.Fusion \ Fusion.UI.MvcWebUX \ Helper \ FormGenerator.cs: строка 70
в Fusion.UI.MvcWebUX.Helper.FormGenerator.RenderForm (ViewPage viewPage) в D: \ EBS \ Project.Fusion \ Fusion.UI.MvcWebUX \ Helper \ FormGenerator.cs: строка 60
в ASP.views_shared_autoview_aspx .__ RenderContent2 (HtmlTextWriter __w, Control parameterContainer) в каталоге d: \ EBS \ Project.Fusion \ Fusion.UI.MvcWebUX \ Views \ Shared \ AutoView.aspx: строка 7
в System.Web.UI.Control.RenderChildrenInternal (автор HtmlTextWriter, дети ICollection)
в System.Web.UI.Control.RenderChildren (писатель 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)
в ASP.views_shared_fusion_master .__ Render__control1 (HtmlTextWriter __w, Control parameterContainer) в d: \ EBS \ Project.Fusion \ Fusion.UI.MvcWebUX \ Views \ Shared \ Fusion.Master: строка 74
в System.Web.UI.Control.RenderChildrenInternal (автор HtmlTextWriter, дети ICollection)
в System.Web.UI.Control.RenderChildren (писатель 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.Mvc.ViewPage.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.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
InnerException:
Я боролся с этим в течение нескольких часов. Может ли кто-нибудь помочь мне решить ее и сказать, почему это происходит.