Способы обнаружения измененной учетной записи / не найдена учетная запись в ASP.NET/C# - PullRequest
0 голосов
/ 15 октября 2010

У меня есть страница ASP.NET, где вверху страницы находится окно поиска.Есть два текстовых поля: одно - это автозаполнение для имени в базе данных, а другое - просто ввод идентификатора.

На странице представлены в первую очередь DetailsViews и GridView, и даже если ни одна учетная запись не была найдена,они отображают пустые данные, которые не являются идеальными.Я вроде исправил это, используя if (IsPostBack), заключая элементы в заполнитель и устанавливая его как видимый, только если страница является обратной.Но это не распространяется, если пользователь вводит неверный идентификатор.

Кроме того, некоторые учетные записи содержат огромные объемы данных внутри GridView.У меня была проблема, связанная с тем, что, поскольку у меня нет способа определить, когда строки источника данных изменились, я в конечном итоге связываюсь при загрузке страницы (метод Page_Load).Я пришел к выводу, что это просто очень плохо - есть много раз, когда пользователь может щелкнуть по разным вещам на странице и получить обратную передачу страницы, и каждый раз, когда я щелкаю что-то по аккаунту для аккаунтов с большим количествомdata.

В любом случае, мой вопрос, по сути, двоякий, но я чувствую, что решение будет аналогичным:

1: Как я могу обнаружить, что при поиске не возвращаются аккаунты, иотключить сетки / подробные представления и показать сообщение об ошибке?

2: Как я могу выяснить, когда пользователь ищет другую учетную запись и только повторно связать сетки после того, как это произошло?

Спасибо

1 Ответ

0 голосов
/ 15 октября 2010

Этот метод очень уродлив, но он сделает работу.

1) Чтобы проверить, нет ли записей;после вызова веб-службы AutoComplete Extenders, если ни одна запись не возвращена, введите в Session какое-то значение, например

  Session["NoData"]=true;

, если найдены записи;

  Session["NoData"]=false;

после вызова веб-службы выполните запрос do ajaxчтобы проверить этот сеанс и на основе значения сделать то, что вы хотите.

2) Этого также можно добиться, выполнив вышеуказанную опцию.

...