如何在viewmodel属性中将0格式化为空字符串

问题描述 投票:0回答:1

我的目标是当属性的值为0(零)时返回一个空字符串,否则返回值。

我查看了DisplayFormat属性,但我没有看到它是如何有条件地设置的(除了null)。

我也尝试使用代码来获取属性的get方法,但是我以这种方式尝试堆栈溢出错误。

public class Results
{
    public string TestId
    { 
       get 
       {
           if ( TestId == "0" ) { return ""; };
           return TestId;
       } 
       set {} 
    }
}

必须有一种方法,但显然这不是它,或者我错过了一些东西。

有人能指出我正确的方向吗?

asp.net-core-mvc
1个回答
1
投票

代码方法应该有效。您遇到的问题是因为您从getter引用了相同的TestId属性。您应该引用存储该值的基础字段。我建议改变如下:

public class Results
{
    private string _testId;

    public string TestId
    {
        get => _testId == "0" ? string.Empty : _testId;
        set => _testId = value;
    } 
}
© www.soinside.com 2019 - 2024. All rights reserved.