Скрытие / отключение элементов управления ASP.NET, когда SqlDataSource пуст - PullRequest
0 голосов
/ 13 октября 2010

Мне нужно иметь возможность скрывать или отключать множество элементов (подробные представления, сеточные представления), когда SqlDataSource не возвращает строк. Поэтому, если страница размещена и строки не выбраны, все элементы управления будут отключены.

Как бы я это сделал?

Спасибо

Ответы [ 2 ]

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

Вы можете попытаться подключиться к событию DataBound GridView. Если строк нет, установите Visible = false для всех элементов управления, которые нужно скрыть. Пример:

<asp:gridView id="control" OnDataBound="DataBound" [...]

protected void DataBound(object sender, EventArgs e)
    {
        control.Visible = control.Rows.Count>0;
    }
0 голосов
/ 13 октября 2010

Обычно я использую LINQ и помещаю свои результаты в коллекцию или словарь, но, насколько я могу судить, вы можете сделать это, добавив новый обработчик к событию .Selected (при условии, что вашDataSourceMode равно SqlDataSourceMode.DataSet. Если вы проверяете свойство AffectedRows SqlDataSourceStatusEventArgs в этом событии, оно должно сообщать вам, сколько строк было возвращено (по крайней мере, из документации следует столько же).

После того, как вы это узнаете, вы можете отключить или включить другие элементы управления страницей.

...