Razbezhkin
@Razbezhkin
программист, преподаватель

ASP.NET MVC: как определить в каком месте представления Razor происходит exception?

Здравствуйте.
На сервере происходит исключение (Exception) в коде представления. локально отображается ошибка типа такой:

[NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.]
ASP._Page_Views_Purchase_Rows_cshtml.Execute() +83733
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +124
System.Web.WebPages.StartPage.ExecutePageHierarchy() +142
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +180
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +379
System.Web.Mvc.<>c__DisplayClass1a.b__17() +32
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +613
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +613
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +263
System.Web.Mvc.Async.<>c__DisplayClass25.b__22(IAsyncResult asyncResult) +240
System.Web.Mvc.<>c__DisplayClass1d.b__18(IAsyncResult asyncResult) +28
System.Web.Mvc.Async.<>c__DisplayClass4.b__3(IAsyncResult ar) +15
System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +53
System.Web.Mvc.Async.<>c__DisplayClass4.b__3(IAsyncResult ar) +15
System.Web.Mvc.<>c__DisplayClass8.b__3(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass4.b__3(IAsyncResult ar) +15
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +288

можно ли не изменяя кода представления определить, в каком месте (строка кода) или по крайней мере при выполнении какой операции происходит эта ошибка? и если есть, то какое?
Пока что я использую подход вставки в разные части кода блока try catch, перестроения решения, загрузки его на сервер, перезапуска сервера и проверки, исчезла ли ошибка...
  • Вопрос задан
  • 169 просмотров
Пригласить эксперта
Ответы на вопрос 2
@sharpross
Это у тебя во вьюшке проблема какая-та.
ExecuteResult - значит контроллер прошёл, и падаем при отрисовки вьюхи.
ищи во ViewBag к чему идёт ссылка которой не хватает.
Ответ написан
@mletov
Зачастую, когда есть проблема в разоровской вьюхе, ошибка показывается совсем не в той строчке, где она есть на самом деле. Поэтому я обычно начинаю потихоньку комментить подозрительные куски пока не найду источник ошибки.

Проверьте данные, получаемые из базы, на null

https://forums.asp.net/t/1899637.aspx?I+have+a+ver...
qaru.site/questions/538267/cant-understand-why-im-...

Если проблема только на внешнем, то удалите проект и залейте заново, может какие-нибудь хвосты от старых сборок.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы