Cela n'a vraiment aucun sens pour moi.Asp.Net MVC3 EditorPour Exception
J'ai un modèle de vue avec ce domaine en elle:
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
[DataType(DataType.Date)]
public DateTime Scheduled { get; set; }
J'afficher ce champ dans la vue (ce qui est une vue de modifier) comme ceci:
@Html.EditorFor(m=>m.Scheduled)
La première fois après un cycle de nettoyage/reconstruction, ça fonctionne bien, il affiche juste la date dans la boîte (j'ai fait beaucoup de bidouillages dernièrement pour trouver un bon moyen de ne pas afficher la date et l'heure dans la boîte, et cela semble la meilleure façon).
Cependant, une fois que j'actualisez la page, je reçois les suivantes:
valeur ne peut pas être nulle. Nom du paramètre: flux
Description: Une exception non gérée s'est produite lors de l'exécution de la demande Web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.
Détails de l'exception: System.ArgumentNullException: La valeur ne peut pas être nulle. Nom du paramètre: flux
Et cette erreur persiste jusqu'à un autre cycle de nettoyage/reconstruction. La trace de la pile semble indiquer que le moteur de vue tente de charger le modèle à partir du répertoire/Shared/EditorTemplates. Je n'ai aucun modèle pour ceci, puisque la documentation semble indiquer qu'il devrait par défaut à une zone de texte, qui est ce que je veux.
Je n'utilise pas un TextBoxFor droit car il ne fait pas le formatage, et EditorFor semble le faire. Et quand j'essaye de faire un modèle pour satisfaire cette exception, je reviens au problème d'essayer de comprendre comment formater la date dans la vue. Donc, je suppose que deux choses vont fonctionner pour une réponse: Pourquoi cette erreur se produit seulement après la première actualisation, ou comment formater une date dans une vue rasoir.
par demande, la pile complète:
[ArgumentNullException: La valeur ne peut être nulle. Nom du paramètre: flux] System.IO.StreamReader..ctor (courant de flux, le codage de codage, Boolean detectEncodingFromByteOrderMarks, Int32 bufferSize) 9496369 System.Web.UI.TemplateParser.ParseFile (String physicalPath, VirtualPath virtualPath) 232 System.Web.UI.TemplateParser.ParseInternal() +86 System.Web.UI.TemplateParser.Parse() +160 System.Web.Compilation.BaseTemplateBuildProvider.get_CodeCompilerType() +110 System.Web.Compilation.BuildProvider. GetCompilerTypeFromBuildProvider (BuildProvider buildProvider) +65 System.Web.Compilation.BuildProvidersCompiler.ProcessBuildProviders() +218 System.Web.Compilation.BuildProvidersCompiler.PerformBuild() +40 System.Web.Com pilation.BuildManager.CompileWebFile (VirtualPath virtualPath) 8945798 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal (VirtualPath virtualPath, Boolean NOBUILD, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 320 System.Web.Compilation.BuildManager .GetVPathBuildResultWithNoAssert (HttpContext contexte, VirtualPath virtualPath, Boolean NOBUILD, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) 111 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory (VirtualPath virtualPath, HttpContext contexte, Boolean allowCrossApp, Boolean throwIfNotFound) 125 System.Web.Compilation.BuildManager.GetCompiledType (VirtualPath virtualPath) 10 System.Web.Compilation.BuildManager.GetCompiledType (String virtualPath) 28 System.Web.Mvc.BuildManagerWrapper.System.Web.Mvc.IBuildManager.GetCompiledType (String virtualPath) +7 System.Web.Mvc.BuildManagerCompiledView.Render (ViewContext viewContext, rédacteur TextWriter) +58 System.Web.Mvc.Html.TemplateHelpers.ExecuteTemplate (HtmlHelper html, ViewDataD ictionary Viewdata, String templateName, le mode DataBoundControlMode, GetViewNamesDelegate getViewNames, GetDefaultActionsDelegate getDefaultActions) 584 System.Web.Mvc.Html.TemplateHelpers.TemplateHelper (HtmlHelper html, les métadonnées ModelMetadata, String htmlFieldName, String templateName, le mode DataBoundControlMode, objet additionalViewData, ExecuteTemplateDelegate executeTemplate) +1027 System.Web.Mvc.Html.TemplateHelpers.TemplateHelper (htmlHelper html, métadonnées ModelMetadata, chaîne htmlFieldName, chaîne templateName, mode DataBoundControlMode, objet additionalViewData) +66 System.Web.Mvc.Html.TemplateHelpers.TemplateFor (HtmlHelper
1 html, Expression
1 expression, String templateName, String htmlFieldName, Mode DataBoundControlMode, Objet additionalViewData, TemplateHelperDelegate templateHelper) +118 System.Web.Mvc.Html.TemplateHelpers.Templ ateFor (HtmlHelper1 html, Expression
une expression, String templateName, String htmlFieldName, le mode DataBoundControlMode, objet additionalViewData) 100 System.Web.Mvc.Html.EditorExtensions.EditorFor (HtmlHelper1 html, Expression
une expression) 57 ASP._Page_Views_Visit_visit_Edit_cshtml.Execute() dans d: \ Code ... \ Views \ Visit \ Visit \ Edit.cshtml: 34 System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207 System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +81 Système. Web.WebPages.WebPageBase.ExecutePageHierarchy (page WebPageContext, writer TextWriter, page WebPageRenderingBase startPage) +76 System.Web.Mvc.RazorView.RenderView (ViewContext viewContext, TextWriter writer, instance d'objet) +220 System.Web.Mvc.BuildManagerCompiledView. Rendu (V iewContext viewcontext, écrivain TextWriter) +115 System.Web.Mvc.ViewResultBase.ExecuteResult (contexte ControllerContext) +303 de System.Web.Mvc.ControllerActionInvoker.InvokeActionResult (ControllerContext ControllerContext, ActionResult ActionResult) +13 System.Web.Mvc. <> c_ DisplayClass1c.b _19() 23 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter (filtre IResultFilter, ResultExecutingContext preContext, filtres Func1 continuation) +260 System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1, ActionResult ActionResult) 177 System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext ControllerContext, String actionName) 343 System.Web.Mvc.Controller.ExecuteCore() 116 System.Web.Mvc.ControllerBase.Execute (RequestContext RequestContext) 97 System.Web.Mvc.ControllerBase.System. Web.Mvc.IController.Execute (RequestContext requestContext) +10 System.Web.Mvc. <> c_ DisplayClassb.b _5() +37 System.Web.Mvc.Async. <> c_ DisplayClass1.b _0() +21 System.Web.Mvc.Async. <> c_ DisplayClass81.<BeginSynchronous>b__7(IAsyncResult _) +12 System.Web.Mvc.Async.WrappedAsyncResult
1.End() +62 System.Web.Mvc. <> c _DisplayClasse.b_ d() +50 System.Web.Mvc.SecurityUtil.b _0 (Action f) +7 System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust (action d'action) +22 System.Web.Mvc.MvcHandler.EndProcessRequest (IAsyncResult asyncResult) System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest +60 (résultat IAsyncResult) +9 du système. Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 8841105 System.Web.HttpApplication.ExecuteStep (étape IExecutionStep, Boolean & completedSynchronously) +184
Quelle est la trace de la pile? – SLaks