_ASP.NET MVC 4
_アプリケーションに取り組んでいます。私は最初にコードで_EF 5
_を使用し、私が持っているエンティティの1つで:
_public string ImageName { get; set; }
public string ImageGUIDName { get; set; }
_
エンティティの一部であるこれらの2つのプロパティ。画像がアップロードされていない可能性があるため、これらの値はnullになりますが、データベースからImageName
としてImageGUIDName
およびnull
としてモデルを渡すビューをレンダリングすると、次のようになります。
_Exception Details: System.ArgumentNullException: Value cannot be null.
_
基本的な考え方は、画像があるかどうかに応じて、ユーザーに異なるテキストを提供することです。
_ @if (Model.ImageName != null)
{
<label for="Image">Change picture</label>
}
else
{
<label for="Image">Add picture</label>
}
_
上記のコードがそのエラーを受け取ったとき、string.IsNullOrEmpty(Model.ImageName)
とModel.ImageName.DefaultIfEmpty() != null
を試しましたが、まったく同じエラーが発生しました。 yエンティティプロパティをnullとして設定することはできないようです:
_public string? ImageName { get; set; } //Not working as it seems
_
それで、どうすればこれに対処できますか?
最初にこれを試してください、あなたはヌルモデルを渡すかもしれません:
@if (Model != null && !String.IsNullOrEmpty(Model.ImageName))
{
<label for="Image">Change picture</label>
}
else
{
<label for="Image">Add picture</label>
}
それ以外の場合は、いくつかの 三項の楽しみ! を使用すればさらにすっきりさせることができますが、モデルがNullの場合はエラーになります。
<label for="Image">@(String.IsNullOrEmpty(Model.ImageName) ? "Add" : "Change") picture</label>