Как отобразить нулевые значения, поступающие из таблицы, как пустые в текстовом поле при загрузке из Gridview?

#asp.net #sql-server-2005 #c#-3.0

#asp.net #sql-server-2005 #c #-3.0

Вопрос:

При вводе значений в таблицу я оставил несколько столбцов в строке пустыми, при загрузке из Gridview в текстовое поле все они сохраняются как «amp; nbsp;». Я не хочу, чтобы это нулевое значение «amp; nbsp;» отображалось внутри текстовых полей, оно должно быть пустым при выборе из Gridview… Что я должен для этого сделать?

Комментарии:

1. используете ли вы какой-либо элемент управления источником данных для сохранения записи?

2. Моя проблема в том, что когда я загружаю значения из Grid view в textbox, они отображаются как «amp; nbsp;», если это поле данных пустое. Если в таблице есть какое-либо нулевое значение, мы используем метод isnull для присвоения значения по умолчанию.. таким образом я могу присвоить пустое значение?? Я пробовал, как это isnull(Middle_Name,»)Middle_Name, но не работает?

Ответ №1:

Если вы используете элементы управления источником данных, то установите ConvertEmptyStringToNull="true" свои параметры

     <InsertParameters>
        <asp:ControlParameter ConvertEmptyStringToNull="true" />
    </InsertParameters>
  

ИЛИ, если вы используете параметризованный запрос, тогда это должно быть похоже…

 if (TextBox1.Text.Trim() = string.Empty)
    {
        // pass the null value as parameter
        //com.Parameters.AddWithValue("@savePath", null);
    }
  

Комментарии:

1. @Akhtar, для меня сохранение нулевых значений не является проблемой, когда я загружаю значения из Grid view в textbox, они отображаются как «amp; nbsp;», если это поле данных пустое. Если в таблице есть какое-либо нулевое значение, мы используем метод isnull для присвоения значения по умолчанию.. таким образом я могу присвоить пустое значение?? Я пробовал, как это isnull(Middle_Name,»)Middle_Name, но не работает.. что именно указать?

2. В html amp;nbsp; = пустое пространство, когда вы назначаете пустую строку любому вашему элементу управления, она будет отображаться как amp;nbsp; в браузере. Вы можете проверить, чтобы просмотреть исходный код браузера.

3. @Akhtar, да. Пустое пространство не является проблемой, потому что текстовые поля и все остальное не обязательны. Я не хочу, чтобы в текстовых полях отображалось «amp; nbsp;» Что для этого сделать?

4. Вы можете поставить условие перед присвоением значения, если оно есть, а затем назначить пустую строку like… Textbox1.Text = Строка. Пусто;

Ответ №2:

После присвоения значения вашему текстовому полю из GridView напишите следующий код:

 если(textBoxName.Текст == "amp; nbsp;")
 {
 Имя_текстового поля.Текст = Server.HtmlDecode(textBoxName.Text); 
 }

Комментарии:

1. Не ставьте пробел между amp; и nbsp; Я сделал это, иначе отобразится просто пробел.