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

Как установить значение по умолчанию для пустой строки TextBox вместо нулевого

Я могу устареть, но один принцип, которым я придерживаюсь, - это максимально избегать нулей.

Однако я обнаружил, что для строго типизированного представления, в котором пользователь вводит свойства объекта, который я хочу сохранить, если некоторые поля не введены, они назначаются как null.

Затем, когда вы пытаетесь сохранить изменения, проверка не выполняется.

Поэтому вместо того, чтобы устанавливать каждое свойство в пустую строку, как я могу автоматически установить для каждого TextBox по умолчанию по умолчанию пустую строку, а не null?

4b9b3361

Ответ 1

Вы можете поместить следующий атрибут в свои свойства строки в вашей модели:

[DisplayFormat(ConvertEmptyStringToNull=false)]

Поэтому всякий раз, когда кто-то отправляет форму с пустыми текстовыми полями, это будет пустая строка вместо нулевого...

Ответ 2

Если честно, я бы сказал, что ваша методология кодирования устарела и испорчена. Вы должны обращаться со всеми возможностями, это не сложно. Это то, за что string.IsNullOrEmpty(value);.

Я предполагаю, что ваша логика проверки выглядит примерно так:

if (value == string.Empty) { isValid = false; } 

Таким образом, он не обрабатывает нулевые значения. Вы должны заменить эту проверку, чтобы она также проверяла нули.

string value1 = null;
string value2 = string.Empty;

string.IsNullOrEmpty(value1); // true
string.IsNullOrEmpty(value2); // true

Ответ 4

Я столкнулся с этой проблемой при работе со старой службой, для которой требуются пустые строки. Я создал метод расширения:

public static string GetValueOrDefault(this string str)
        {
            return str ?? String.Empty;
        }

Таким образом, вы можете использовать это, когда хотите удостовериться, что строки, которые пустые, пустуют

yourString1.GetValueOrDefault();
yourString2.GetValueOrDefault();