Вот как это работает:
protected void sourceEmployees_Selecting(Object sender,
ObjectDataSourceSelectingEventArgs e)
{
if (e.InputParametets["employeeID"] = null) e.Cancel = true;
if ((string)e.InputParameters["City"] == "(Choose a City)")
{
// Ничего не делать.
e.Cancel = true;
}
else if ((string)e.IflputParameters["City"] == "(All Cities)")
{
// Вручную заменить метод.
sourceEmployees.SelectMethod = "GetAllEmployees";
e.InputParameters.Remove("City");
}
}
Такое решение невозможно с помощью SqlDataSource, потому что логика команды встроена в элемент управления источником данных. Однако при неправильном использовании и этот подход ведет к коду, который трудно сопровождать. Например, вы не получите никаких предупреждений, если переименуете, удалите или модифицируете параметры метода GetAllEmployees(). В этом случае ошибка всплывет только когда страница будет запущена и выполнен щелчок на элементе (Аll Cities) (Все города).
В этой главе мы в деталях рассмотрели выражения привязки данных и элементы управления источниками данных. При этом мы начали использовать GridView — основной расширенный элемент управления данными ASP.NET. В следующей главе мы раскроем в подробностях три наиболее мощных привязываемых элемента управления: GridView, DetailsView и FormView. Кроме того, вы узнаете, как они работают с теми несколькими средствами источников данных, которые не были раскрыты в этой главе, такими как сортировка и фильтрация.
предыдущая следующая страница оглавление
417