我在我的模型中有一個圖像屬性,它有時很空。問題是,當數據庫中沒有圖像時,我輸入argumentNull exception
。如果記錄中沒有圖像,我想要實現的仍然是顯示其餘的屬性。如何在不修改數據庫的情況下繞過argumentNull異常?
爲宗旨我試圖做這樣的事情在我看來,沒有工作:
<div>
<h4>Company</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.ImageData)
</dt>
@if (Model.ImageBase64 != null || Model.ImageData!= null)
{
<dd>
<img src="data:image/png;base64,@Model.ImageBase64" />
</dd>
}
<dt>
@Html.DisplayNameFor(model => model.CompanyName)
</dt>
<dd>
@Html.DisplayFor(model => model.CompanyName)
</dd>
我的模型看起來是這樣的:
public class Company
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CompanyId { get; set; }
public byte[] ImageData { get; set; }
[NotMapped]
public HttpPostedFileBase UploadImage { get; set; }
[NotMapped]
public string ImageBase64 => System.Convert.ToBase64String(ImageData);
public string CompanyName { get; set; }
public string CompanyAddress { get; set; }
public string CompanyCountry { get; set; }
public string CompanyCity { get; set; }
public string CompanyPostalCode { get; set; }
public string CompanyPhoneNumber { get; set; }
public string CAId { get; set; }
public virtual ICollection<WorkRole> WorkRoles { get; set; }
public virtual ICollection<UserDetails> UserDetails { get; set; }
}
這是我從控制器傳來的信息:
Company company = db.Companies.Where(c => c.CAId == currentUserId)
.FirstOrDefault();
db.Users.FirstOrDefault(x => x.Id == currentUserId);
關於如何實現我想要的任何提示?
您是否將模型返回到視圖 - 您顯示的代碼可能會引發異常的唯一方式是'Model'爲'null' –
是的,我正在返回一個模型。 –
然後你沒有向我們展示真正拋出異常的代碼。 '@if(Model.ImageBase64!= null || Model.ImageData!= null)'甚至不需要 –