gpt4 book ai didi

c# - 如何在 Razor View 中检查模型字符串属性是否为 null

转载 作者:IT王子 更新时间:2023-10-29 04:15:48 25 4
gpt4 key购买 nike

我正在开发一个 ASP.NET MVC 4 应用程序。我首先将 EF 5 与代码一起使用,然后在我的一个实体中使用:

public string ImageName { get; set; }
public string ImageGUIDName { get; set; }

这两个属性是我实体的一部分。因为我可能没有上传图片,所以这些值可以为空,但是当我渲染 View 传递模型时,ImageNameImageGUIDName 作为 null 来 self 得到的数据库:

异常详细信息:System.ArgumentNullException:值不能为空。

基本思路是根据有无图片为用户提供不同的文字:

            @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 实体属性设置为可为空:

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>
}

否则,您可以使用一些 ternary fun! 使其更加整洁- 但如果您的模型为 Null,那仍然会出错。

<label for="Image">@(String.IsNullOrEmpty(Model.ImageName) ? "Add" : "Change") picture</label>

关于c# - 如何在 Razor View 中检查模型字符串属性是否为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20408571/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com