Пустая строка возвращает ноль для текстового поля для MVC 4

В задаче, предварительно заполненной Html.TextBoxFor в asp.net mvc 3, вы можете увидеть ответ, в котором следующий фрагмент кода работает правильно.

ViewBag.CompName = "Some Name";

Тогда по вашему мнению:

@Html.TextBoxFor(model =>model.Comps.CompName, new {@Value = ViewBag.CompName})

Однако, когда текстовое поле получает начальное значение пустой строки "", оно, похоже, публикует значение NULL для этого текстового поля.

ViewBag.CompName = "";

Это отправляет нулевое значение вместо пустой строки.

Есть ли способ вернуть пустую строку вместо нуля?

1 ответ

Решение

Это ожидаемое поведение. Попробуйте использовать DisplayFormat приписывать.

[DisplayFormat(ConvertEmptyStringToNull=false)] на вершине CompName собственность в вашей модели.

Смотрите ссылку

Например:-

[DisplayFormat(ConvertEmptyStringToNull = false)]
public string CompName
{
    get { return _compName; }
    set { _compName= value; }
}
Другие вопросы по тегам