【发布时间】:2022-01-16 11:19:40
【问题描述】:
我的 null 检查器失败了,这里有什么问题?
我正在尝试检查用户声明是否存在变量 sID,它只是回发模型的人员 ID
所以我添加了一个 try catch 语句来阻止它崩溃
var sID = ViewModel_CreateNewAgent.Tbl_Brands_Staff.BranchStaffID.ToString();
var staffIDExists = _context.AspNetUserClaims.Where(c => c.ClaimValue == sID).FirstOrDefaultAsync();
/// VALIDATE STAFF ID
var claimsExists = await _userManager.GetClaimsAsync(user);
var doesStaffIDExist ="";
try
{
doesStaffIDExist = staffIDExists.Result.ClaimValue ?? doesStaffIDExist;
//doesStaffIDExist = staffIDExists.Result.ClaimValue != null ? staffIDExists.Result.ClaimValue : doesStaffIDExist ;
}catch(Exception err) { }
【问题讨论】:
-
staffIDExists可以为空,staffIDExists.Result可以为空(不太可能),ClaimValue 也是一个字符串,所以它可以是“”,你为什么不设置一个断点并检查.. . -
“我的空检查器”是什么意思? “失败”是什么意思?
-
它是一个用户注册页面,用于检查 SID 是否存在,如果不存在。它返回 null,因此使代码崩溃。我想检查是否为空,然后给它分配任何内容或零。
标签: c# error-handling claims-based-identity