Czy można utworzyć atrybut warunkowy jako DisplayIf?

Chcę utworzyć atrybut do użycia z moim modelem widoku. Chcę wyświetlać różne teksty w zależności od trzeciej wartości.

Chciałbym zrobić coś takiego ...

[DisplayIf("IsPropertyValid", true, Name="value 1")]
[DisplayIf("IsPropertyValid", false, Name="value 2")]
public string MyProperty { get; set; }

public bool IsPropertyValid { get; set; }

W zależności od tego, czy moja wartość IsPropertyValid jest prawdziwa, czy nie, chcę pokazać jedną lub drugą. To znaczy. Gdy właściwość IspPropertyValid jest równa prawdziwej „wartość 1” będzie tekstem displaytext, a jeśli nie, będzie to „wartość 2”.

Czy jest to możliwe z atrybutami ASPNET.MVC? Albo jeszcze lepiej ... kombinowany jak ....

[DisplayIf("IsPropertyValid", new {"value 1", "value 2"})].
public string MyProperty { get; set; }

public bool IsPropertyValid { get; set; }

Następnie atrybut sprawdza wartość IsPropertyValid i upewnia się, że wyświetlana wartość to „wartość 1” lub „wartość 2”.

questionAnswers(1)

yourAnswerToTheQuestion