在针对活动目录检查用户时,我还检查他们的邮件属性,尝试将其存储到会话变量
中但是,当用户AD帐户没有邮件地址时,我想在屏幕上显示它们。
此时捕获索引超出范围的异常
我怎样才能检查这个以便设置label属性?我显然想避免将其设置在捕获中。
try
{
var mail = adsSearchResult.Properties["mail"][0] ;
if (mail == null)
{
Label3.Text = "blablabla";
return;
}
else
{
Session["email"] = adsSearchResult.Properties["mail"][0].ToString().ToLower();
}
}
catch (Exception ex)
{
Response.Write(ex);
}
答案 0 :(得分:0)
你只需要添加空值和长度检查,实际上你应该有这种可能性。
try {
if (adsSearchResult.Properties["mail"]!= null && adsSearchResult.Properties["mail"].Any()) {
var mail = adsSearchResult.Properties["mail"][0];
if (mail == null) {
Label3.Text = "blablabla";
return;
} else {
Session["email"] = adsSearchResult.Properties["mail"][0].ToString()
.ToLower();
}
}
} catch (Exception ex) {
Response.Write(ex);
}