Подтвердить что ты не робот

Если значение равно 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
4b9b3361

Ответ 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; }