仅当位值等于 true 时,计算属性的值

本文关键字:计算 属性 true | 更新日期: 2023-09-27 18:35:18

如果我要有一个页面在一个页面上显示标记为IsProduct的成分,并使用成分名称生成图像URL值。

然后在另一页上使用未标记为IsProduct的成分。我能做些什么,以便当我显示未标记为IsProduct的成分时,它们不会为ProductImage拍摄URL值,因为它不是产品。

在课堂上我应该做什么吗?或者因为它是一个计算值,我应该在将项目写入页面时这样做。

    namespace XXX.Models
    {
        public class Ingredient
        {
            public int IngredientID { get; set; }
            [StringLength(50), Column(TypeName = "varchar")]
            public string IngredientNameEn { get; set; }
            [StringLength(50), Column(TypeName = "varchar")]
            public string IngredientNameEs { get; set; }
            [Column(TypeName = "varchar(Max)")]
            public string IngredientDescriptEn { get; set; }
            [Column(TypeName = "varchar(Max)")]
            public string IngredientDescriptEs { get; set; }
            [Column(TypeName = "bit")]
            public bool IsProduct { get; set; }
            public string ProductImage
            {
                get { return IngredientNameEs.Replace(" ", string.Empty) + ".jpg"; }
            }
        }
    }

仅当位值等于 true 时,计算属性的值

这个问题

有点令人困惑。 我认为您正在寻求一种为有效产品生成 URL 的方法,并隐藏/禁用非产品的 URL。

在 MVC 的哪个领域应该有这个逻辑的问题之外......

代码可以相同

    string url == string.Empty;
    if (model.IsProduct)
    {
        var builder = new UriBuilder();
        builder.  { populate the needed properties ,  model.ProductImage}
        url = builder.ToString();
    }