Редактор кода бритвыДля отображения «�» по умолчанию? - PullRequest
1 голос
/ 21 апреля 2020

В моей форме есть текстовое поле, в коде бритвы, используя EditorFor, и тип, указанный для этого, равен Char . Но он всегда показывает «�» по умолчанию, что это значит? это из-за типа char ?

пожалуйста, посмотрите на картинку enter image description here

1 Ответ

2 голосов
/ 21 апреля 2020

Это � является недопустимым символом точки кода Юникода. Это то, что вы увидите в большинстве браузеров, когда они встречают нулевой символ '\ 0' (U + 0000). Это значение по умолчанию для типа данных. NET char.

Три обходных пути:

  1. заменяет действительный символ по умолчанию, например пробел: c == default(char) ? ' ' : c
  2. добавить лог c, чтобы скрыть EditorFor или LabelFor, когда значение равно default(char)
  3. , изменить тип данных на System.String, что приводит к правильному воспроизведение в обоих случаях null и String.Empty
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...