Подтвердить что ты не робот

Исправление System.NullReferenceException в App_Web _ *. Dll

У меня есть странная проблема.

Мое приложение MVC работает отлично, за исключением одной страницы просмотра.

В рассматриваемой странице просмотра (организация/редактирование) на каждый элемент кода на странице появляется "NullReferenceException". Является ли это Html.TextBoxFor() или HTML.AntiForgeryToken().

У меня есть моя модель, представление и контроллер, изложенные здесь по другому вопросу, который, как мне кажется, связан - https://stackoverflow.com/info/26475866/dropdownlistfor-null-reference-error

Как вы можете видеть ниже, моя модель имеет информацию внутри нее. Этот захват экрана был сделан в " Обратном виде (" Редактировать ", модель)" внутри контроллера.

Сведения об исключении

- 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)

enter image description here

Просмотр

@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

Одна вещь, которую я замечаю, заключается в том, что если я прокомментирую свое "textboxfor", моя ошибка будет возникать в "ValidationSummary()", если я прокомментирую мой "ValidationSummary()", то моя ошибка произойдет в "AntiForgeryToken" ().

Итак, кажется, что ошибка происходит только в последней возможной области кода.

4b9b3361

Ответ 1

Я нашел ответ на свою проблему здесь

Для тех, кто находит это:

Попробуйте прокомментировать следующую строку кода ПОСЛЕ ошибки.

@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

В приведенном выше случае я получаю ошибки на model.organizationSub.subTitle. Если бы я прокомментировал эту строку, я бы получил ошибки в строке model.organizationSub.subName. Затем я нашел упомянутую ссылку и прокомментировал строку ПОСЛЕ всех моих TextBoxFors. Это исправило мою проблему.

Из ссылки: "Несколько раз компилятор не мог указывать на точные строки с конкретными типами ошибок в представлении бритвы, может быть из-за того, что он не мог сохранить номер строки в трассировке стека или где-то. Я нашел этот случай с Null Reference Exception и когда null передается в Url.Content.

Таким образом, это помогает проверить следующий оператор С# в режиме бритвы, когда вы не получили никаких ошибок в строке, отображаемой трассировкой стека. "