#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; Я сделал это, иначе отобразится просто пробел.