c# - 传递可为空的 Guid

标签 c# asp.net-mvc guid

<分区>

我试图传递一个可为 null 的 Guid 并将其用作字段的默认值(如果它不是 Null 但出现错误)。

这是我的代码:

        [HttpGet]
        public ActionResult Create(Guid? pTETrackingClassID)
        {
            PTETrackingClass model = new PTETrackingClass();
            if (pTETrackingClassID != null)
            {
                model.TrackingClassCode = pTETrackingClassID;
            }

            return View(model);
        }

在这条线上

model.TrackingClassCode = pTETrackingClassID;

我收到这个错误:

cannot implicitly convert type System.Guid? to System.Guid

然后我尝试了这个:

model.TrackingClassCode = new Guid(pTETrackingClassID);

而且我在那条线上也遇到了错误。我错过了什么?

最佳答案

可空类型不可分配给它们的不可空等价物。您需要使用 Value 属性提取基础值。

model.TrackingClassCode = pTETrackingClassID.Value;

正如 juharr 在他的评论中提到的那样,您将通过显式转换可为 null 的对象获得相同的结果。

model.TrackingClassCode = (Guid)pTETrackingClassID;

关于c# - 传递可为空的 Guid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32147597/

相关文章:

c# - 如何在 asp.net 和数据库是 mysql 中使用 datetime 数据类型传递空值?

asp.net - ASP.NET MVC 中的状态管理

windows - 任何我不应该在我的Visual C++程序中添加GUID验证的原因?

c# - 我在哪里可以获得用于创建 DLL、C# 的接口(interface)和类的 GUID 值

c# - WP7 应用程序中 GUID 的用途是什么?

c# - Mono .Net 支持异步等待吗?

c# - 加载数据内文件 : can't ignore 1st row while skipping columns?

c# - 信息检索中的波特词干算法

asp.net-mvc - CQRS 读取模型中的访问规则

asp.net - 将MVC5项目升级到MVC6