画像ファイルのパスを格納するテーブルがあります。コードにはいくつかの条件があります。
var UserQuery =
(from u in DataContext.UserProfiles where u.UserIDfk == currentUserId select u)
.FirstOrDefault();
if (UserQuery.Avatar == DBNull.Value.ToString())
{
UsersAvatarImage.ImageUrl = "Images/UserAvatar/default_avatar.jpg";
}
if (UserQuery.Avatar != DBNull.Value.ToString())
{
UsersAvatarImage.ImageUrl = UserQuery.Avatar;
}
列の値がnullかどうかを確認しています.nullの場合は、画像コントロールの値をデフォルトの画像に設定します。データベースに保存されている画像が表示されない場合は、なぜそうでないのかわかりません仕事。
DBNull.Value.ToString() の代わりに string.IsNullOrEmpty および else 句を 2 番目の if または空の二重引用符で試しましたが、どちらも機能しません。
奇妙なことに、2 番目の if をコメントして最初の if を条件を満たしてデフォルトの画像を表示すると、2 番目の部分にコメントを戻すと最初の部分が機能しません。
データを挿入したときに、DBNull.Value.ToString() を使用して値を null として渡すことに注意してください。この列を同時に null にする方法と null ではない方法があります。これを確認するより良い方法はありますか?