Ler*_*ica 29 c# entity-framework razor asp.net-mvc-4
我正在开发一个ASP.NET MVC 4应用程序.我EF 5首先使用代码并在我的一个实体中使用:
public string ImageName { get; set; }
public string ImageGUIDName { get; set; }
Run Code Online (Sandbox Code Playgroud)
那两个属性是我实体的一部分.因为我可能没有图像上传这些值可以为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>
}
Run Code Online (Sandbox Code Playgroud)
因此,当上面的代码让我得到了我尝试过的错误string.IsNullOrEmpty(Model.ImageName),Model.ImageName.DefaultIfEmpty() != null但我也得到了完全相同的错误.似乎我不能只将y实体属性设置为可空:
public string? ImageName { get; set; } //Not working as it seems
Run Code Online (Sandbox Code Playgroud)
那我怎么处理这个呢?
nas*_*ski 62
首先尝试这个,你可能会传递一个Null模型:
@if (Model != null && !String.IsNullOrEmpty(Model.ImageName))
{
<label for="Image">Change picture</label>
}
else
{
<label for="Image">Add picture</label>
}
Run Code Online (Sandbox Code Playgroud)
另外,你可以用一些三元的乐趣使它更整洁! - 但如果您的模型为空,那仍然会出错.
<label for="Image">@(String.IsNullOrEmpty(Model.ImageName) ? "Add" : "Change") picture</label>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
92344 次 |
| 最近记录: |