Système.NullReferenceException dans App Web *.DLL
j'ai un problème bizarre.
mon application MVC semble fonctionner parfaitement sauf pour une page de vue.
la page de vue en question (organisation/édition) obtient une 'NullReferenceException' sur chaque élément de code de la page. S'il s'agit de Html.TextBoxFor () or HTML.AntiForgeryToken () .
mon modèle, ma vue et mon contrôleur sont exposés ici sur une autre question je pense que c'est lié -- https://stackoverflow.com/questions/26475866/dropdownlistfor-null-reference-error
comme vous pouvez le voir ci-dessous, mon modèle contient des informations. Cette capture d'écran a été prise à l' " Return View("Modifier", modèle) " à l'intérieur du contrôleur.
Détails De L'Exception
- Source = App_Web_zu4jlld0
- StackTrace = at ASP._Page_Views_Organization_Edit_vbhtml.Execute() in C:UsersmtaylorProjectsCheck Im Heremtaylor-branchCheckImHere_v2CheckImHereMVCViewsOrganizationEdit.vbhtml:line 16
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.RunPage()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1a.<InvokeActionResultWithFilters>b__17()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
Vue
@ModelType CheckImHereMVC.OrganizationEditViewModel
@Using Html.BeginForm("Edit", "Organization", FormMethod.Post)
@Html.AntiForgeryToken() 'get errors here
@Html.ValidationSummary(True) 'get errors here
@Html.TextBoxFor(Function(model) model.organizationSub.subName, New With {.class = "span12"}) 'and errors here
End Using
une chose que je remarque est que si je commente mon 'textboxfor', mon erreur se produira au 'ValidationSummary()', si je commente mon 'ValidationSummary()', alors mon erreur se produira au 'AntiForgeryToken()'.
il semble Donc que l'erreur arrive juste à la dernière zone de code.
1 réponses
j'ai trouvé la réponse à mon problème ici
Pour quiconque de trouver ceci:
essayez de commenter la ligne de code suivante après l'erreur.
@ModelType CheckImHereMVC.OrganizationEditViewModel
@Using Html.BeginForm("Edit", "Organization", FormMethod.Post)
@Html.AntiForgeryToken()
@Html.ValidationSummary(True)
@Html.TextBoxFor(Function(model) model.organizationSub.subName, New With {.class = "span12"})
@Html.TextBoxFor(Function(model) model.organizationSub.subTitle, New With {.class = "span12"})
<img src="@Url.Content(Model.img.imgPath)" alt="IMAGES"/> 'commenting out this line fixed my issue
End Using
dans le cas ci-dessus, j'obtiendrais des erreurs sur le model.organizationSub.subTitle
. Si je commente cette ligne, j'obtiens des erreurs sur la ligne model.organizationSub.subName
. J'ai alors trouvé le lien mentionné et commenté la ligne après tout mon TextBoxFors. Qui a résolu mon problème.
de link: "parfois compilateur ne pouvait pas pointer sur les lignes exactes ayant le type spécifique d'erreurs dans la vue de rasoir peut être parce qu'il ne pouvait pas garder leur numéro de ligne dans la pile de trace ou quelque part. J'ai trouvé ce cas avec L'Exception de référence nulle et quand null est passé dans L'Url.Contenu.
ainsi il aide à vérifier la prochaine déclaration C# dans la vue de rasoir quand vous n'avez pas obtenu d'erreur sur la ligne montrée par la trace de pile."