Я могу быть устаревшим, но один принцип, которого я придерживаюсь, - это избегать нулей в максимально возможной степени. [12109 Однако я обнаружил, что для строго типизированного представления, в котором пользователь вводит свойства объекта, который я хочу сохранить, если некоторые поля не введены, они назначаются как нулевые.
Затем, когда вы пытаетесь сохранить изменения, проверка не проходит.
Таким образом, вместо того, чтобы устанавливать каждое свойство в пустую строку, как я могу автоматически установить для каждого элемента TextBox в форме значение по умолчанию пустой строкой, а не нулевой?
Вы можете поместить следующий атрибут на ваши строковые свойства в вашей модели:
[DisplayFormat(ConvertEmptyStringToNull=false)]
Таким образом, когда кто-то размещает форму с пустыми текстовыми полями, они будут пустой строкой вместо null...
Если честно, я бы сказал, что ваша методология кодирования устарела и ошибочна. Вы должны использовать все возможности, это несложно. Именно для этого предназначена string.IsNullOrEmpty (value);
.
Я предполагаю, что ваша логика проверки выглядит примерно так:
if (value == string.Empty) { isValid = false; }
Значит, она не обрабатывает нулевые значения. Вы должны заменить эту проверку, чтобы она также проверяла нули.
string value1 = null;
string value2 = string.Empty;
string.IsNullOrEmpty(value1); // true
string.IsNullOrEmpty(value2); // true