asp.net-mvc – ASP.NET MVC 3 – 这个布尔值如何在控制器中运行
我在asp网站上看到asp.net mvc的教程:
http://www.asp.net/mvc/tutorials/getting-started-with-ef-using-mvc/implementing-basic-crud-functionality-with-the-entity-framework-in-asp-net-mvc-application
控制器中有一种让我困惑的方法: // // GET: /Student/Delete/5 public ActionResult Delete(int id,bool? saveChangesError) { if (saveChangesError.GetValueOrDefault()) { ViewBag.ErrorMessage = "Unable to save changes. Try again,and if the problem persists contact your system administrator."; } return View(db.Students.Find(id)); } 我看到创建了一个名为’saveChangesError’的bool,但在if语句中,有一个方法被调用在名为’GetValueOrDefault()’的布尔值上 在这种情况下究竟发生了什么?我假设GetValueOrDefault()必须是所有布尔类型的方法?我在.NET文档中查看了这个并找到了这个定义:
我无法将此定义与.net mvc应用程序上的内容联系起来. 谢谢. 解决方法
GetValueOrDefault()不是bool的一部分,it’s part of
Nullable<T> .这里的关键是在函数头中声明bool的语法:
public ActionResult Delete(int id,bool? saveChangesError) 问号是一个C#语言结构,它表明这不是一个bool,而是一个Nullable< bool>. bool为1的值类型不能为null.但有时如果他们可以的话会很有用.所以Nullable< T> struct存在是为了达到这个目的. GetValueOrDefault()是该结构上的一个方法,如果没有指定值,它将返回bool的值或bool的默认值(which is (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – 在asp.net mvc中设置为Session的持久cookie
- ASP 服务器超时 Timeout 处理
- asp.net-mvc – ASP.Net MVC4根cshtml和“不继承’System.W
- asp.net mvc webapi 实用的接口加密方法示例
- asp.net – 使用OAuth在Web API中进行身份验证
- .net-core – 使用EF Core删除级联
- asp.net – 使用FindControl:在窗体视图中访问控件
- Asp.NET下拉列表方向
- asp.net-mvc – 为新的网上商店项目选择什么(在ASP.NET MVC
- asp.net – ReportViewer控件 – 高度问题
- asp.net – RenderBody()和RenderSection()必须在
- asp.net-mvc – ASP.NET MVC领域:它们对大型应用
- asp.net-mvc – ViewModel有自己的逻辑吗?
- asp.net-mvc – 如何在将model属性传递给局部视图
- asp.net-mvc – 如何禁用自动完成在MVC Html助手
- asp.net-mvc – 将母版页的代码放在MVC应用程序中
- asp.net – 在调用异步方法时不使用等待来防止死
- asp.net-mvc – BeginRenderLink Sitecore Glass
- asp.net-core-mvc – 在ASP Net Core 2.0 MVC中检
- asp.net-mvc-3 – 在MVC中设置403错误页面