Если значение равно null, введите пустую строку в шаблон бритвы?
У меня есть шаблон бритвы, как показано ниже. Я хочу проверить, является ли значение в поле ввода нулевым, поместите пустую строку, если значение @UIManager.Member.EMail
имеет значение, поместите его значение. Как я могу это сделать?
Обычный ввод:
<input name="EMail" id="SignUpEMail" type="text" class="Input"
value="@UIManager.Member.EMail" validate="RequiredField" />
Синтаксис бритвы:
<input name="EMail" id="SignUpEMail" type="text" class="Input" validate="RequiredField"
value="@(UIManager.Member == null) ? string.Empty : UIManager.Member.EMail" />
Значение, указанное в поле ввода:
True ? string.Empty : UIBusinessManager.MemberCandidate.EMail
Ответы
Ответ 1
Если кажется, что вы просто хотите:
@(UIManager.Member == null ? "" : UIManager.Member.Email)
Обратите внимание, что расположение скобок является критическим; с бритвой @(....)
определяет явный диапазон для кода - следовательно, все, что находится за пределами скобок, рассматривается как разметка (не код).
Ответ 2
Чтобы проверить некоторое свойство модели в cshtml.
@if(!string.IsNullOrEmpty(Model.CUSTOM_PROPERTY))
{
<p>@Model.CUSTOM_PROPERTY</p>
}
else
{
<p> - </p>
}
лучший способ сделать это:
@(Model.CUSTOM_PROPERTY ?? "-")
Ответ 3
Это как раз свойство NullDisplayText
в [DisplayFormat]
атрибут.
Добавьте это прямо в свою модель:
[DisplayFormat(NullDisplayText="", ApplyFormatInEditMode=true)]
public string EMail { get; set; }
Ответ 4
Используйте null условный оператор:
@UIManager.Member?.Email