asp.net mvc - System.NullReferenceException en App_Web_*. Dll
asp.net-mvc razor (1)
Estoy teniendo un problema extraño.
Mi aplicación MVC parece funcionar perfectamente bien a excepción de una página de vista.
La página de vista en cuestión (Organización / Edición) obtiene una ''NullReferenceException'' en cada elemento de código en la página. Si es Html.TextBoxFor () o HTML.AntiForgeryToken () .
Tengo mi modelo, vista y controlador expuestos aquí en otra pregunta que creo que está relacionada - https://stackoverflow.com/questions/26475866/dropdownlistfor-null-reference-error
Como puede ver a continuación, mi modelo tiene información dentro de él. Esta captura de pantalla se tomó en la " Vista de devolución " ("Editar", modelo) "dentro del controlador.
Detalles de excepción
- Source = App_Web_zu4jlld0
- StackTrace = at ASP._Page_Views_Organization_Edit_vbhtml.Execute() in C:/Users/mtaylor/Projects/Check Im Here/mtaylor-branch/CheckImHere_v2/CheckImHereMVC/Views/Organization/Edit.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)
Ver
@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
Una cosa que noto es que si hago un comentario de mi ''textboxfor'', mi error ocurrirá en ''ValidationSummary ()'', si hago un comentario a mi ''ValidationSummary ()'', entonces mi error ocurrirá en ''AntiForgeryToken ()''.
Entonces parece que el error simplemente ocurre en la última área de código posible.
Encontré la respuesta a mi problema here
Para cualquiera que encuentre esto:
Intente comentar la siguiente línea de código DESPUÉS del error.
@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
En el caso anterior, obtendría errores en el model.organizationSub.subTitle
. Si comenté esa línea, obtendría errores en la línea model.organizationSub.subName
. Luego encontré el enlace mencionado y comenté la línea DESPUÉS de todos mis TextBoxFors. Eso solucionó mi problema.
Desde el enlace: "Algunas veces el compilador no pudo señalar las líneas exactas que tienen un tipo específico de errores en la vista de la maquinilla de afeitar porque no pudo mantener su número de línea en el seguimiento de la pila o en algún lugar. Encontré este caso con excepción de referencia nula y cuando es nulo pasado en Url.Contenido.
Por lo tanto, es útil verificar la siguiente declaración de C # en la vista de la navaja cuando no haya ningún error en la línea mostrada por la traza de la pila ".