传递一个可空的Guid
本文关键字:Guid 一个 | 更新日期: 2023-09-27 18:09:13
我试图传递一个可空的Guid,并使用它作为一个字段的默认值,如果它不是空的,但我得到一个错误。
下面是我的代码: [HttpGet]
public ActionResult Create(Guid? pTETrackingClassID)
{
PTETrackingClass model = new PTETrackingClass();
if (pTETrackingClassID != null)
{
model.TrackingClassCode = pTETrackingClassID;
}
return View(model);
}
在这一行
model.TrackingClassCode = pTETrackingClassID;
我得到这个错误:
不能隐式转换类型System.Guid?系统。Guid
然后我试了这个:
model.TrackingClassCode = new Guid(pTETrackingClassID);
,我也得到了一个错误。我错过了什么?
可空类型不能赋值给它们的非可空类型。您需要使用Value
属性提取底层值。
model.TrackingClassCode = pTETrackingClassID.Value;
正如juharr在他的注释中提到的,通过显式转换可空对象,您将得到相同的结果。
model.TrackingClassCode = (Guid)pTETrackingClassID;
试试这个:
if (pTETrackingClassID.HasValue)
{
model.TrackingClassCode = pTETrackingClassID.Value;
}