【发布时间】:2017-12-27 06:29:06
【问题描述】:
我有一个项目,我正在从 ASP.Net MVC 移植一些代码以改用 Nancy。我将继续在新项目中将 Razor 用于视图引擎。我的一个观点是给我以下例外:
RuntimeBinderException: Cannot perform runtime binding on a null reference
at CallSite.Target(Closure , CallSite , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,TRet](CallSite site, T0 arg0)
at RazorOutput.RazorView.Execute()
at Nancy.ViewEngines.Razor.NancyRazorViewBase`1.ExecuteView(String body, IDictionary`2 sectionContents)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
at Nancy.ViewEngines.Razor.RazorViewEngine.<>c__DisplayClass27.<RenderView>b__26(Stream stream)
at Nancy.ViewEngines.Razor.HtmlHelpers`1.Partial(String viewName, Object modelForPartial)
at RazorOutput.RazorView.Execute()
at Nancy.ViewEngines.Razor.NancyRazorViewBase`1.ExecuteView(String body, IDictionary`2 sectionContents)
at CallSite.Target(Closure , CallSite , Object , Object , Object )
at System.Dynamic.UpdateDelegates.UpdateAndExecuteVoid3[T0,T1,T2](CallSite site, T0 arg0, T1 arg1, T2 arg2)
at Nancy.ViewEngines.Razor.RazorViewEngine.<>c__DisplayClass27.<RenderView>b__26(Stream stream)
at Nancy.Responses.MaterialisingResponse.PreExecute(NancyContext context)
现在,从某种意义上说,这是一个很容易修复的错误:只是防止 null 被尊重,对吗?我遇到的问题是我不知道我的模型的哪些部分并认为它有问题。所以我要问的是,是否有办法从南希那里得到更好的错误信息?如果我能让它告诉我视图中的行号,或者它无法绑定的空对象的名称,那将大大简化调试。
【问题讨论】: