asp.net-mvc – 根据需要设置RenderSection:false,但仍抛出“对
发布时间:2020-12-16 07:20:01 所属栏目:asp.Net 来源:网络整理
导读:此代码应该将我的Section标记为可选. _layout.cshtml @RenderSection("ViewStyles",false) 要么 @RenderSection("ViewStyles",required:false) 我试过了两个. 然而,它引发了一个例外 Exception Details: System.NullReferenceException: Object reference no
此代码应该将我的Section标记为可选.
_layout.cshtml @RenderSection("ViewStyles",false) 要么 @RenderSection("ViewStyles",required:false) 我试过了两个. 然而,它引发了一个例外 Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. 我尝试在我的视图中添加一个空白部分,不需要使用ViewStyles部分 @section ViewStyles { } 但我仍然得到同样的例外. 还有另一种解决方法吗? 解决方法
这与您的部分无关.我不确定你在哪里认为该部分为空是产生这个错误,但这绝对不是发生了什么.未设置为对象实例的对象引用是当您尝试从计算结果为null的变量引用属性时生成的运行时错误.当某个变量本身在运行时解析为null时,某处的某些代码会引用一个变量属性(同样,不再讨论这里的部分).
例如,假设您执行以下操作: Foo foo = db.Foos.Find(id); 变量foo被定义为Foo,因此您可以引用Foo所具有的任何属性.如果你的Foo类有一个名为Bar的属性.然后,您可以尝试通过以下方式在代码中的某处获取此属性的值: foo.Bar 那将编译得很好.但是,如果找不到具有id的Foo,则foo的实际值为null,null不具有名为Bar的属性,该属性只能在运行时确定.这就是错误告诉你正在发生的事情:你的代码中的某个地方,你正在调用某个变量的属性而不先检查变量的空值.在上面的示例中,您通常会执行以下操作: Foo foo = db.Foos.Find(id); if (foo != null) { bar = foo.Bar; } 您还可以使用三元组来提供某种后备: bar = foo != null ? foo.Bar : "Baz"; 这样,bar将保持foo.Bar的值,或者如果foo为null,则为“Baz”字符串. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ASP.NET DataSource控件“没有命名容器”异常
- asp.net-mvc – ASP.NET MVC如何链接视图和控制器?
- asp.net-mvc – 带vNext的MVC 6:我们还需要Global.asax吗?
- asp.net – 我可以使用msbuild打包带有发布配置文件的网站并
- asp.net-mvc-2 – 在MVC中实现自定义标识和IPrincipal
- asp.net – NHibernate log4net性能问题 – 如何禁用?
- 优化 – 在经典ASP内存泄漏中实现对象缓存
- asp.net-mvc-3 – 将数据库添加到App_Data文件夹
- ASP.NET服务与存储库层
- asp.net-mvc-3 – 此版本的SQL Server不支持没有聚集索引的
推荐文章
站长推荐
- asp.net – 在打开silverlight项目之前,您需要安
- .NET项目升级:可为空引用
- asp.net-mvc-5 – Sharepoint 2013 MVC 5提供商托
- asp.net – Azure SqlException:服务器上的数据
- asp.net-mvc – Bootstrap模式表单在提交后不会关
- 在ASP.NET 3.5中实现异常处理
- asp.net-mvc – Crystal Reports Images和ASP.Ne
- asp.net-mvc – MicrosoftMvcValidation.js VS j
- asp.net – Page_ClientValidate()与多个Validat
- asp.net-core – 如何在ASP.NET Core中实现angul
热点阅读