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

时间:2013-10-15 07:28:53

标签: c# string asp.net-mvc-4 entity calculated-field

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

然后在另一页上使用未标记为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"; }
            }
        }
    }

1 个答案:

答案 0 :(得分:0)

这个问题有点令人困惑。我想你要求一种方法来生成有效产品的URL,并隐藏/禁用非产品的URL。

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

代码可以是相同的

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