#gridview #webforms
#gridview #веб-формы
Вопрос:
Я уверен, что это невероятно просто, но у меня есть gridview, tableadapter, objectdatasource и текстовое поле.
Когда я запускаю страницу, я получаю:
Значение не может быть нулевым. Имя параметра: постоянный
Это потому, что в моем запросе есть параметр, который он ищет в текстовом поле. Если я вручную ввожу данные для текстового значения textbox и загружаю страницу, запрос выполняется нормально.
Как мне сделать так, чтобы запрос выполнялся только после ввода данных в мое текстовое поле? Я не хочу, чтобы запрос выполнялся, пока кто-нибудь не введет что-нибудь для поиска. Я просмотрел все свойства и не увидел ничего очевидного.
Спасибо.
Ответ №1:
Не зная каких-либо существенных подробностей о вашей настройке, я бы сказал, что вам нужно использовать какое-то событие и оператор if. Я бы создал кнопку, которая проверяет, что что-то существует в текстовом поле, а затем обрабатывает запрос. Я предполагаю, что вы используете ASP.NET. Вы можете использовать TextBox.Text.Length для проверки длины текста в текстовом поле.
Что-то вроде этого:
private void bSearch_Click(object sender, EventArgs e)
{
if(tbSearchBox.Text.Length > 0)
{
doQuery(tbSearchBox.Text);
}
}
Конечно, если ваше конкретное использование требует этого, вы всегда можете поместить это в событие изменения текста, чтобы оно выполняло запрос для каждого введенного нового символа.